
(function(window,document,Laya){
	var __un=Laya.un,__uns=Laya.uns,__static=Laya.static,__class=Laya.class,__getset=Laya.getset,__newvec=Laya.__newvec;

	var Box=laya.ui.Box,Browser=laya.utils.Browser,Component=laya.ui.Component,Dialog=laya.ui.Dialog,Event=laya.events.Event;
	var EventDispatcher=laya.events.EventDispatcher,FileManager=laya.ide.managers.FileManager,IDEAPIS=laya.ide.managers.IDEAPIS;
	var Node=laya.display.Node,PluginDialog=laya.ide.plugin.PluginDialog,PluginPanel=laya.ide.plugin.PluginPanel;
	var Sprite=laya.display.Sprite,StyleConsts=laya.ide.config.StyleConsts,Text=laya.display.Text,TextInput=laya.ui.TextInput;
	var View=laya.ui.View;
	Laya.interface('laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.ICell');
	Laya.interface('laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater');
	Laya.interface('laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController');
	Laya.interface('laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.ICellExecutionCycle');
	Laya.interface('laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.IStepExecutionCycle');
	Laya.interface('laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.blackBox.IOperationLogic');
	//class laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.blackBox.BlackBox
	var BlackBox=(function(){
		function BlackBox(){
			this.stepPointer=-1;
			this.operationLogic=new DefaultOperationLogic();
			this.steps=[];
		}

		__class(BlackBox,'laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.blackBox.BlackBox');
		var __proto=BlackBox.prototype;
		/**
		*执行
		*/
		__proto.execute=function(step){
			this.steps.length=this.stepPointer+1;
			this.steps.push(step);
			this.stepPointer+=1;
			step.execute();
		}

		/**
		*撤销最后一步
		*/
		__proto.revocation=function(){
			if(this.stepPointer>=this.steps.length||this.stepPointer<0||this.steps.length==0){return;};
			var currentStep=this.steps[this.stepPointer];
			var upStep=null;
			if(this.stepPointer-1>=0){
				upStep=this.steps[this.stepPointer-1];
			};
			var isWrong=this.operationLogic.revocation(currentStep,upStep);
			if(isWrong){
				this.operationLogic.revocationException(currentStep,upStep,isWrong);
			}
			else{
				this.stepPointer-=1;
			}
		}

		/**
		*恢复下一步
		*/
		__proto.recover=function(){
			if(this.stepPointer+1>=this.steps.length){return;};
			var currentStep=this.steps[this.stepPointer];
			var nextStep=this.steps[this.stepPointer+1];
			var isWrong=this.operationLogic.recover(currentStep,nextStep);
			if(isWrong){
				this.operationLogic.recoverException(currentStep,nextStep,isWrong);
			}
			else{
				this.stepPointer+=1;
			}
		}

		__getset(1,BlackBox,'instance',function(){
			return BlackBox._instance;
		});

		__static(BlackBox,
		['_instance',function(){return this._instance=this;}
		]);
		return BlackBox;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.blackBox.DefaultOperationLogic
	var DefaultOperationLogic=(function(){
		function DefaultOperationLogic(){}
		__class(DefaultOperationLogic,'laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.blackBox.DefaultOperationLogic');
		var __proto=DefaultOperationLogic.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.blackBox.IOperationLogic":true})
		__proto.execute=function(step){
			return false;
		}

		__proto.revocation=function(current,up){
			return false;
		}

		__proto.revocationException=function(current,up,exceptionMessage){}
		__proto.recover=function(current,next){
			return undefined;
		}

		__proto.recoverException=function(current,next,exceptionMessage){}
		return DefaultOperationLogic;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.AbstractCell
	var AbstractCell=(function(){
		function AbstractCell(cellValue){
			this.cellValue=null;
			this.callBacks={};
			this.cellValue=cellValue;
		}

		__class(AbstractCell,'laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.AbstractCell');
		var __proto=AbstractCell.prototype;
		/**
		*添加回调
		*@param key：键
		*@param callBack：方法
		*/
		__proto.AddCallBack=function(key,callBack){
			this.callBacks[key]=callBack;
		}

		/**
		*获取回调
		*@param key：键
		*@return
		*/
		__proto.GetCallBack=function(key){
			return this.callBacks [key];
		}

		/**
		*执行(需要重写)
		*@return 执行后返回的结果，包括需要的返回值和异常处理
		*/
		__proto.execute=function(value){}
		return AbstractCell;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.error.IErrorLogic
	var IErrorLogic=(function(){
		function IErrorLogic(){}
		__class(IErrorLogic,'laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.error.IErrorLogic');
		return IErrorLogic;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.exp.IEXPLogic
	var IEXPLogic=(function(){
		function IEXPLogic(){}
		__class(IEXPLogic,'laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.exp.IEXPLogic');
		return IEXPLogic;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var AbstractStep=(function(){
		function AbstractStep(value){
			this.stepValue=null;
			this.cells=null;
			this.callBacks={};
			this.stepValue=value;
			this.cells=this._cellsCreater();
		}

		__class(AbstractStep,'laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep');
		var __proto=AbstractStep.prototype;
		/**
		*添加回调
		*@param key：键
		*@param callBack：方法
		*/
		__proto.AddCallBack=function(key,callBack){
			this.callBacks[key]=callBack;
		}

		/**
		*获取回调
		*@param key：键
		*@return
		*/
		__proto.GetCallBack=function(key){
			return this.callBacks [key];
		}

		/**
		*执行
		*@return
		*/
		__proto.execute=function(){
			var isWrong=this._execute(this.cells);
			if (!isWrong){
				this.normalEnd();
			}
			else{
				this.unnormalEnd(isWrong);
			}
			this.end(isWrong);
			return isWrong;
		}

		/**
		*正常结束
		*/
		__proto.normalEnd=function(){
			this._normalEnd(this.cells);
		}

		/**
		*异常结束
		*/
		__proto.unnormalEnd=function(computationalResults){
			this._unnormalEnd(this.cells,computationalResults);
		}

		/**
		*结束
		*/
		__proto.end=function(computationalResults){
			this._end(this.cells,computationalResults);
		}

		/**
		*撤销
		*/
		__proto.revocation=function(){
			this._revocation(this.cells);
		}

		/******************************************以下需要重写********************************************************/
		__proto._cellsCreater=function(){}
		/**
		*执行(需要在实体类中重写)
		*@return 异常信息,如果没有异常,则为null或者undefind
		*/
		__proto._execute=function(cells){}
		/**
		*正常结束:执行正常结束和撤销正常结束后都会执行(需要在实体类中重写)
		*/
		__proto._normalEnd=function(cells){}
		/**
		*异常结束:执行异常结束和撤销异常结束后都会执行(需要在实体类中重写)
		*/
		__proto._unnormalEnd=function(cells,computationalResults){}
		/**
		*结束:执行结束和撤销结束后都会执行(需要在实体类中重写)
		*/
		__proto._end=function(cells,computationalResults){}
		/**
		*撤销(需要在实体类中重写)
		*/
		__proto._revocation=function(cells){}
		return AbstractStep;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.systemError.LayaPluginsConsole
	var LayaPluginsConsole=(function(){
		function LayaPluginsConsole(){}
		__class(LayaPluginsConsole,'laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.systemError.LayaPluginsConsole');
		LayaPluginsConsole.log=function(content){
			console.log(content);
		}

		LayaPluginsConsole.error=function(content){}
		LayaPluginsConsole.warn=function(content){}
		return LayaPluginsConsole;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.Container
	var Container=(function(){
		function Container(containerCreater,containerController){
			this.creater=null;
			this.controller=null;
			this._objects=null;
			this.creater=containerCreater;
			this.controller=containerController;
			this.createContainer();
		}

		__class(Container,'laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.Container');
		var __proto=Container.prototype;
		//是否存在容器创建器
		__proto.isHaveCreater=function(){
			if(this.creater){
				return true;
			}
			else{
				return false;
			}
		}

		//生成容器
		__proto.createContainer=function(){
			if(this.isHaveCreater()){
				this._objects=this.creater.createContainer();
				return true;
			}
			else{
				return false;
			}
		}

		//是否存在容器控制器
		__proto.isHaveController=function(){
			if(this.controller){
				return true;
			}
			else{
				return false;
			}
		}

		//增
		__proto.add=function(addValue){
			if(this.isHaveController()){
				return this.controller.add(this._objects,addValue);
			}
			else{
				return false;
			}
		}

		//删
		__proto.remove=function(removeValue){
			if(this.isHaveController()){
				return this.controller.remove(this._objects,removeValue);
			}
			else{
				return false;
			}
		}

		//改
		__proto.change=function(oldValue,newValue){
			if(this.isHaveController()){
				return this.controller.change(this._objects,oldValue,newValue);
			}
			else{
				return false;
			}
		}

		//查
		__proto.finder=function(findValue){
			if(this.isHaveController()){
				return this.controller.finder(this._objects,findValue);
			}
			else{
				return null;
			}
		}

		__getset(0,__proto,'objects',function(){
			return this._objects;
			},function(value){
			this._objects=value;
		});

		return Container;
	})()


	//class laya.ide.plugin.as3plugin.A_framwork.globalTool.LayaDictionary
	var LayaDictionary=(function(){
		function LayaDictionary(){
			this._values=[];
			this._keys=[];
		}

		__class(LayaDictionary,'laya.ide.plugin.as3plugin.A_framwork.globalTool.LayaDictionary');
		var __proto=LayaDictionary.prototype;
		/**
		*给指定的键名设置值。
		*@param key 键名。
		*@param value 值。
		*/
		__proto.add=function(key,value){
			var index=this.indexOf(key);
			if (index >=0){
				this._values[index]=value;
				return;
			}
			this._keys.push(key);
			this._values.push(value);
		}

		/**
		*获取指定对象的键名索引。
		*@param key 键名对象。
		*@return 键名索引。
		*/
		__proto.indexOf=function(key){
			var index=this._keys.indexOf(key);
			if (index >=0)return index;
			key=((typeof key=='string'))? Number(key):(((typeof key=='number'))? key.toString():key);
			return this._keys.indexOf(key);
		}

		/**
		*返回指定键名的值。
		*@param key 键名对象。
		*@return 指定键名的值。
		*/
		__proto.get=function(key){
			var index=this.indexOf(key);
			return index < 0 ? null :this._values[index];
		}

		__proto.insertAtOrAdd=function(positionKey,insertKey,insertValue){
			var index=this.indexOf(positionKey);
			if (index >=0){
				this._keys.splice(index,0,insertKey);
				this._values.splice(index,0,insertValue);
				return positionKey;
			}
			else {
				this._keys.push(insertKey);
				this._values.push(insertValue);
				return this._keys.length-1
			}
		}

		/**
		*在指定键后面添加新的键值（如果不存在，则在最后添加新键值）
		*@param positionKey：指定键
		*@param insertKey：要添加的新键
		*@param insertValue：要添加的新值
		*@return 返回添加的位置
		*/
		__proto.insertBackOrAdd=function(positionKey,insertKey,insertValue){
			var index=this.indexOf(positionKey);
			if (index >=0){
				this._keys.splice(index+1,0,insertKey);
				this._values.splice(index+1,0,insertValue);
				return positionKey;
			}
			else {
				this._keys.push(insertKey);
				this._values.push(insertValue);
				return this._keys.length-1
			}
		}

		/**
		*移除指定键名的值。
		*@param key 键名对象。
		*@return 是否成功移除。
		*/
		__proto.remove=function(key){
			var index=this.indexOf(key);
			if (index >=0){
				var value=this._values[index];
				this._keys.splice(index,1);
				this._values.splice(index,1);
				return value;
			}
			return null;
		}

		/**
		*获取不含头尾的区间
		*@param starKey
		*@param endKey
		*@return
		*/
		__proto.sliceWithoutHeadAndTail=function(starKey,endKey){
			var starIndex=this.indexOf(starKey);
			var endIndex=this.indexOf(endKey);
			var arr=[];
			if (starIndex >=0 && endIndex-1 >=starIndex+1){
				arr=this._values.slice(starIndex+1,endIndex-1);
			}
			return arr;
		}

		/**
		*获取起始点到最后的所有元素，不含起始点
		*@param starKey
		*@return
		*/
		__proto.sliceToEndWithoutHead=function(starKey){
			var starIndex=this.indexOf(starKey);
			var arr=[];
			if (starIndex >=0){
				arr=this._values.slice(starIndex+1);
			}
			return arr;
		}

		/**
		*清除不含头尾的区间
		*@param starKey
		*@param endKey
		*@return
		*/
		__proto.spliceWithoutHeadAndTail=function(starKey,endKey){
			var starIndex=this.indexOf(starKey);
			var endIndex=this.indexOf(endKey);
			var arr=[];
			if (starIndex >=0 && endIndex-1 >=starIndex+1){
				this._keys.splice(starIndex+1,endIndex-1);
				arr=this._values.splice(starIndex+1,endIndex-1);
			}
			return arr;
		}

		/**
		*删除从起始点开始到最后的所有元素，不含起始点
		*@param starKey
		*@return
		*/
		__proto.spliceToEndWithoutHead=function(starKey){
			var starIndex=this.indexOf(starKey);
			var arr=[];
			if (starIndex >=0){
				this._keys.splice(starIndex+1);
				arr=this._values.splice(starIndex+1);
			}
			return arr;
		}

		/**
		*清除此对象的键名列表和键值列表。
		*/
		__proto.clear=function(){
			this._values.length=0;
			this._keys.length=0;
		}

		/**
		*获取所有的子元素列表。
		*/
		__getset(0,__proto,'values',function(){
			return this._values;
		});

		/**
		*获取字典的长度
		*/
		__getset(0,__proto,'length',function(){
			return this._keys.length;
		});

		/**
		*获取所有的子元素键名列表。
		*/
		__getset(0,__proto,'keys',function(){
			return this._keys;
		});

		return LayaDictionary;
	})()


	//class laya.ide.plugin.as3plugin.D_view.A_PluginView.ScriptPlugin_GC
	var ScriptPlugin_GC=(function(){
		function ScriptPlugin_GC(){
			this._classExp=null;
			this.filePath=null;
			this._eventMenu=null;
			this._data=null;
			this._targetID=NaN;
			this._eventScript='';
			this._isCopyMode=false;
			this._showPropertyList=true;
			this._showEventList=true;
			this._eventBox=null;
			this.m_disabled=true;
			this._currentpathid=null;
			this._copyClass=null;
			this._lock=false;
			this._ownerData=null;
			this.events=new Array;
			this._varMenuMap=new /*no*/this.GroupMap;
			;
			this.initThis();
			this.initAddEvent();
			this.initAddProperty();
			this.initOpenProperty();
			this.initOpenEvent();
			this.initCopyButton();
			this.initPaste();
			this.initDelete();
			this.initViewList();
			this.init__JS__();
			this.initPanel();
			this.initTypeLabel();
			this.initWarnLabel();
		}

		__class(ScriptPlugin_GC,'laya.ide.plugin.as3plugin.D_view.A_PluginView.ScriptPlugin_GC');
		var __proto=ScriptPlugin_GC.prototype;
		/**
		*对自身进行初始化
		*/
		__proto.initThis=function(){
			ScriptPlugin_GC.instance=this;
			this.left=this.right=0;
			Laya.timer.callLater(this,this.updateRezie);
			this['onVarChange']=this.onVarChange.bind(this);
		}

		/**
		*初始化“添加事件”按钮
		*/
		__proto.initAddEvent=function(){
			/*no*/this.addEventBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onAddEvent);
		}

		//“添加事件”按钮功能
		__proto.onAddEvent=function(){
			var list=new OpenListStep("event");
			list.AddCallBack(CallBackGlobalName.addEventNormalEnd,this.addEventNormalEnd);
			list.AddCallBack(CallBackGlobalName.addRevocation,this.addEventRevocation);
			BlackBox.instance.execute(list);
		}

		__proto.addEventNormalEnd=function(){}
		__proto.addEventRevocation=function(){}
		/**
		*初始化“添加属性”按钮
		*/
		__proto.initAddProperty=function(){
			/*no*/this.addPropertyBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCreateProperty);
		}

		//“添加属性”按钮
		__proto.onCreateProperty=function(){}
		__proto.addPropertyNormolAnd=function(){}
		__proto.addPropertyRevocation=function(){}
		/**
		*初始化“展示或者收起事件”按钮
		*/
		__proto.initOpenProperty=function(){
			/*no*/this.propertyOpenBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClickProperty);
			/*no*/this.propertyBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClickProperty);
		}

		__proto.onClickProperty=function(e){
			this.showPropertyList=!this.showPropertyList;
		}

		/**
		*初始化“打开事件列表”的功能
		*/
		__proto.initOpenEvent=function(){
			/*no*/this.eventOpenBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClickEvent);
			/*no*/this.eventOpenLabel.on(/*laya.events.Event.CLICK*/"click",this,this.onClickEvent);
		}

		//“打开事件列表”的功能
		__proto.onClickEvent=function(e){
			this.showEventList=!this._showEventList;
		}

		/**
		*初始化“复制脚本”按钮
		*/
		__proto.initCopyButton=function(){
			/*no*/this.copyBtn.toolTip='复制脚步';
			/*no*/this.copyBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCopy);
		}

		//“复制脚本”功能
		__proto.onCopy=function(){
			this._copyClass=this._classExp.toJson();
			this.updateCV();
		}

		__proto.updateCV=function(){
			if (this.m_disabled){
				/*no*/this.parseBtn.disabled=/*no*/this.copyBtn.disabled=true;
			}
			else {
				/*no*/this.copyBtn.disabled=false;
				/*no*/this.parseBtn.disabled=this._copyClass==null;
			}
		}

		/**
		*初始化“粘贴脚本”按钮
		*/
		__proto.initPaste=function(){
			/*no*/this.parseBtn.toolTip='粘贴脚步';
			/*no*/this.parseBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onPaste);
			this.classExp=null;
		}

		//"粘贴脚本"功能
		__proto.onPaste=function(){
			var name=this._classExp.name;
			this._classExp.read(this._copyClass);
			this._classExp.name=name;
			this.classExp=this._classExp;
			this.save();
		}

		/**
		*初始化“删除脚本”按钮
		*/
		__proto.initDelete=function(){
			/*no*/this.deleteBtn.toolTip='删除脚本';
			/*no*/this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.deleteFile);
		}

		//“删除脚本”功能
		__proto.deleteFile=function(){
			this.setScript(null);
			this.notify();
		}

		__proto.addEventView=function(funcExp){
			var v=new /*no*/this.EventView;
			v.init(this,funcExp);
			this._eventBox.addChild(v);
			this.events.push(v);
			v.on(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			/*no*/this.callLater(this.updateRezie);
		}

		__proto.clearEventView=function(){
			var len=this.events.length;
			for (var i=0;i < len;i++){
				this.events[i].removeSelf();
				this.events[i].off(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			}
			this.events.length=0;
		}

		__proto.setDisabled=function(value){
			this.m_disabled=value;
			this.addEventBtn.disabled=value;
			this.propertyBtn.disabled=value;
			/*no*/this.deleteBtn.disabled=value;
			/*no*/this.varListView.visible=!value;
			this.updateCV();
		}

		__proto.onProperty=function(){
			var varTypes=[];
			if (!this._classExp){
				/*no*/this.varListView.resetData(varTypes,this.onVarChange);
				return;
			};
			var i=0,len=this.classExp.vars.length;
			for (;i < len;i++){
				var varExp=this.classExp.vars[i];
				varTypes.push({name:varExp.name,type:varExp.valueType,auto:varExp.auto});
			}
			/*no*/this.varListView.resetData(varTypes,this.onVarChange);
		}

		// addChild(_varListView);
		__proto.onVarChange=function(data){
			var i=NaN,len=NaN;
			this.classExp.vars.length=0;
			len=data.length;
			for (i=0;i < len;i++){
				var varExp=new /*no*/this.VarExp;
				varExp.name=data[i].name;
				varExp.valueType=data[i].type;
				varExp.auto=data[i].auto;
				this.classExp.addVar(varExp);
			}
			this.change();
		}

		//将当前状态存储到本地
		__proto.save=function(){
			var classExp=this._classExp;
			if (this._isCopyMode){
				this._isCopyMode=false;
				this._classExp.name=/*no*/this.ExpressionFactory.autoName();
				this.updateClassName();
			}
			if (!/*no*/this.MinScriptSystem.instance.hasScript(classExp.name)){
				/*no*/this.MinScriptSystem.instance.addScriptByName(classExp.name);
			}
			if (!FileManager.exists(/*no*/this.MinScriptSystem.codePath)){
				FileManager.createDirectory(/*no*/this.MinScriptSystem.codePath);
			};
			var json=JSON.stringify(classExp.toJson());
			var js=/*no*/this.Parser.toCode(classExp);
			this.checkwarn(js);
			var url=/*no*/this.MinScriptSystem.codePathDir+classExp.name;
			var txturl=url+'.'+/*no*/this.ExpressionFactory.Extension_Code;
			FileManager.createTxtFile(url+'.'+/*no*/this.ExpressionFactory.Extension_Json,json);
			FileManager.createTxtFile(txturl,js);
			this.notify();
		}

		// trace(js);
		__proto.updateClassName=function(){
			if (this._classExp){
				var url=/*no*/this.MinScriptSystem.codePathDir+this._classExp.name;
				var path=url+'.'+/*no*/this.ExpressionFactory.Extension_Code;
				path=FileManager.getRelativePath(IDEAPIS.assetsPath,path);
				this._eventScript=path;
			}
			else {
				this._eventScript='';
			}
		}

		//错误检测
		__proto.checkwarn=function(js){
			console.log("js:"+js);
			try {
				Browser.window.eval(js);
				console.log(Browser.window);
				/*no*/this.warnTf.text='';
			}
			catch (e){
				/*no*/this.warnTf.text='脚步存在错误，将无法正常使用！';
			}
		}

		__proto.setScript=function(className){
			if (className){
				this.readJSFile(className);
			}
			else {
				this.onCreate();
			}
		}

		__proto.readJSFile=function(className){
			/*no*/this.MinScriptSystem.init();
			var claExp=/*no*/this.MinScriptSystem.open(/*no*/this.MinScriptSystem.getPathByClassName(className));
			if (claExp){
				this.classExp=claExp;
			}
			else {
				this.onCreate();
			}
		}

		// pathInput.text=FileManager.getRelativePath(IDEAPIS.assetsPath,rPath);
		__proto.onCreate=function(){
			this.classExp=/*no*/this.ExpressionFactory.createClass(/*no*/this.MinScriptSystem.instance);
		}

		__proto.notify=function(){
			/*__JS__ */Notice.notify("Prop_change",['eventscript',this._eventScript,this._targetID]);
			this._data.eventscript=this._eventScript;
		}

		//初始化“视图列表”
		__proto.initViewList=function(){
			/*no*/this.varListView=new /*no*/this.VarListView2;
			/*no*/this.varListView.initTypes(/*no*/this.MinScriptSystem.ValueTypes);
			/*no*/this.varListView.visible=false;
			/*no*/this.varListView.autoAdjustSize=true;
			/*no*/this.varListView.on(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			/*no*/this.vbox.addChild(/*no*/this.varListView);
		}

		//“试图列表”功能
		__proto.updateRezie=function(){
			/*no*/this.callLater(this.updateLayout);
		}

		//更新布局
		__proto.updateLayout=function(){
			if (this._lock)return;
			this._lock=true;
			var tempHeight=0;
			/*no*/this.propertyTitleBox.y=0;
			tempHeight+=/*no*/this.propertyTitleBox.height+5;
			if (this._showPropertyList){
				/*no*/this.varListView.y=tempHeight;
				tempHeight+=/*no*/this.varListView.height;
			}
			/*no*/this.eventTitleBox.y=tempHeight;
			tempHeight+=/*no*/this.eventTitleBox.height+5;
			var len=this.events.length;
			var tempY=0;
			for (var i=0;i < len;i++){
				this.events[i].pos(0,tempY);
				tempY+=this.events[i].height;
			}
			if (this._showEventList){
				this._eventBox.y=tempHeight;
				this._eventBox.height=tempY;
				tempHeight+=this._eventBox.height;
			}
			this.vbox.refresh();
			this._lock=false;
			/*no*/this.changeSize();
		}

		//初始化“__JS__监听事件”功能
		__proto.init__JS__=function(){
			/*__JS__ */Notice.listen("PropPanel_setByObj",this,this.initByObj);
			/*__JS__ */Notice.listen("FILE_PASTED",this,this.onPastePrefab);
			/*__JS__ */Notice.listen("NODE_PASTED",this,this.onPasteNode);
		}

		__proto.initByObj=function(data,name,id,node){
			var propsData=IDEAPIS.getPreFabProps(data);
			var path=IDEAPIS.getCurPagePath();
			var nowpathid=path+'_'+id;
			if (this._currentpathid==nowpathid)return;
			this._currentpathid=nowpathid;
			this._data=data;
			var type=node ? node.type :'';
			/*no*/this.objNameTf.text=type;
			/*no*/this.iconImage.skin=/*__JS__ */laya.editor.manager.UIConfigManager.getCompTreeIcon(type);
			this._targetID=id;
			path=path.substring(path.lastIndexOf('.')+1);
			if (!this._data || (propsData && propsData.props.preset && path !='prefab')){
				this.classExp=null;
				this.setDisabled(true);
				return;
			};
			var eventscript;
			if (this._data.__eventscript__){
				eventscript=this._data.__eventscript__;
				/*__JS__ */Notice.notify("Prop_change",['eventscript',this._data.__eventscript__,this._targetID]);
				/*__JS__ */Notice.notify("Prop_change",['__eventscript__',undefined,this._targetID]);
				eventscript=this._data.__eventscript__;
			}
			else {
				eventscript=this._data.eventscript
			}
			this._isCopyMode=false;
			if (eventscript && eventscript.charAt(eventscript.length-1)=='#'){
				this._isCopyMode=true;
				eventscript=eventscript.substring(0,eventscript.length-1);
			}
			this.setScript(/*no*/this.MinScriptSystem.getClassNameFromPath(eventscript));
		}

		__proto.onPastePrefab=function(path){
			var json=FileManager.readJSONFile(path);
			this.checkEventScript(json);
			FileManager.createJSONFile(path,json);
		}

		__proto.onPasteNode=function(node){
			this.checkEventScript(node);
		}

		__proto.checkEventScript=function(obj){
			var pros=obj.props;
			if (pros.eventscript){
				var script=pros.eventscript;
				if (script.charAt(script.length-1)!='#'){
					pros.eventscript=script+'#';
				}
			}
			if (obj.hasChild){
				var child;
				/*for each*/for(var $each_child in obj.child){
					child=obj.child[$each_child];
					this.checkEventScript(child);
				}
			}
		}

		//初始化“用于上下滑动”的Panel
		__proto.initPanel=function(){
			this._eventBox=new Box;
			this._eventBox.left=15;
			this._eventBox.right=0;
			/*no*/this.vbox.addChild(this._eventBox);
		}

		__proto.initTypeLabel=function(){
			/*no*/this.objNameTf.color=StyleConsts.PropPanelTitleColor;
		}

		__proto.initWarnLabel=function(){
			/*no*/this.warnTf.color='#ff0000';
		}

		//当界面发生变化时，需要存储变化
		__proto.change=function(){
			this.save();
		}

		__proto.removeEventView=function(v){
			this.classExp.removeFunction(v.funcExp);
			v.removeSelf();
			v.off(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			this.events.splice(this.events.indexOf(v),1);
			/*no*/this.callLater(this.updateRezie);
			this.change();
		}

		__proto.rename=function(newName){
			if (this._classExp.name==newName)return;
			this.doDeleteFile();
			this._classExp.name=newName;
			this.updateClassName();
			this.save();
		}

		__proto.doDeleteFile=function(){
			var url=/*no*/this.MinScriptSystem.codePathDir+this.classExp.name;
			var txturl=url+'.'+/*no*/this.ExpressionFactory.Extension_Code;
			if (FileManager.exists(txturl)){
				FileManager.removeFile(txturl);
			}
			txturl=/*no*/this.MinScriptSystem.getPathByClassName(this.classExp.name);
			if (FileManager.exists(txturl)){
				FileManager.removeFile(txturl);
			}
			/*no*/this.MinScriptSystem.instance.removeScript(this.classExp.name);
		}

		__proto.getVarMenuMap=function(eventparam){
			this._varMenuMap.clear();
			var i=0;
			var len=NaN;
			var globalobject=/*no*/this.MinScriptSystem.globalobject;
			for (i=0,len=globalobject.length;i < len;i++){
				this._varMenuMap.addItem(globalobject[i].name,'全局属性','GlobalVariable.INSTANT.'+globalobject[i].name);
			}
			this._varMenuMap.addItem('owner','脚本属性','this.owner');
			for (i=0,len=this.classExp.vars.length;i < len;i++){
				this._varMenuMap.addItem(this.classExp.vars[i].name,'脚本属性','this.'+this.classExp.vars[i].name);
			}
			if (this._ownerData){
				for (i=0,len=this._ownerData.length;i < len;i++){
					this._varMenuMap.addItem(this._ownerData[i].name,'宿主属性','this.owner.data.'+this._ownerData[i].name);
				}
			}
			this._varMenuMap.addItem('true','boolean');
			this._varMenuMap.addItem('false','boolean');
			if (eventparam){
				len=eventparam.length;
				for (i=0;i < len;i++){
					this._varMenuMap.addItem(eventparam[i],'事件属性');
				}
			}
			return this._varMenuMap.getGroup();
		}

		__proto.getEventTargets=function(){
			this._varMenuMap.clear();
			var i=0;
			var len=this.classExp.vars.length;
			this._varMenuMap.addItem('owner','','this.owner');
			for (i=0;i < len;i++){
				this._varMenuMap.addItem(this.classExp.vars[i].name,'','this.'+this.classExp.vars[i].name);
			}
			return this._varMenuMap.groups;
		}

		//“打开属性列表”的set属性
		//“打开属性列表”的get属性
		__getset(0,__proto,'showPropertyList',function(){
			return this._showPropertyList;
			},function(value){
			this._showPropertyList=value;
			/*no*/this.propertyOpenBtn.index=value ? 1 :0;
			if (value){
				/*no*/this.vbox.addChild(/*no*/this.varListView);
			}
			else {
				/*no*/this.varListView.removeSelf();
			}
			this.updateRezie();
		});

		//“打开事件列表”的set功能
		__getset(0,__proto,'showEventList',null,function(value){
			if (this._showEventList==value)return;
			this._showEventList=value;
			if (value){
				/*no*/this.vbox.addChild(this._eventBox);
			}
			else {
				this._eventBox.removeSelf();
			}
			/*no*/this.eventOpenBtn.index=value ? 1 :0;
			this.updateRezie();
		});

		__getset(0,__proto,'classExp',function(){
			return this._classExp;
			},function(value){
			this.clearEventView();
			this._classExp=value;
			if (this._classExp){
				/*no*/this.MinScriptSystem.init();
				this.setDisabled(false);
				var len=this._classExp.functions.length;
				for (var i=0;i < len;i++){
					this.addEventView(this._classExp.functions[i]);
				}
				len=this._classExp.vars.length;
				this.updateRezie();
				var js=/*no*/this.Parser.toCode(this._classExp);
				this.checkwarn(js);
			}
			else {
				this.setDisabled(true);
			}
			this.updateClassName();
			this.onProperty();
		});

		ScriptPlugin_GC.FILE_PASTED="FILE_PASTED";
		ScriptPlugin_GC.NODE_PASTED="NODE_PASTED";
		ScriptPlugin_GC.PROPPANEL_SETBYOBJ="PropPanel_setByObj";
		ScriptPlugin_GC.instance=null
		return ScriptPlugin_GC;
	})()


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.DragMaterial
	var DragMaterial=(function(){
		function DragMaterial(input,callBack){
			this.inputTxt=null;
			this.callBack=null;
			this.inputTxt=input;
			this.callBack=callBack;
			this.inputTxt.on('dragDrop',this,this.onDrop);
		}

		__class(DragMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.DragMaterial');
		var __proto=DragMaterial.prototype;
		__proto.onDrop=function(e){
			try{
				switch(e.data.type){
					case 'displayDrag':;
						var id=e.data.data.compId;
						this.callBack('"@node:'+id+'"');
						break ;
					case 'res':;
						var url=e.data.asset;
						url=FileManager.getRelativePath(IDEAPIS.workPath+"\\laya",url);
						this.callBack(url);
						break ;
					}
			}
			catch(e){
				console.log(e);
			}
		}

		return DragMaterial;
	})()


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.GroupMap
	var GroupMap=(function(){
		function GroupMap(){
			this.groups=[];
			this.groupLib={};
		}

		__class(GroupMap,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.GroupMap');
		var __proto=GroupMap.prototype;
		__proto.clear=function(){
			this.groupLib={};
			this.groups.length=0;
		}

		__proto.addItem=function(name,group,other){
			(group===void 0)&& (group='');
			(other===void 0)&& (other='');
			if(group){
				var arr=this.groupLib[group];
				if(!arr){
					this.groupLib[group]=arr={name:group,hasChild:true,children:[]};
					this.groups.push(arr);
				}
				arr.children.push({name:name,other:other});
			}
			else{
				this.groups.push({name:name,other:other,hasChild:false});
			}
		}

		__proto.getGroup=function(){
			return this.groups;
		}

		return GroupMap;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddActionView
	var AddActionView=(function(){
		function AddActionView(){}
		__class(AddActionView,'laya.ide.plugin.as3plugin.E_core.cells.AddActionView');
		return AddActionView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddConditionView
	var AddConditionView=(function(){
		function AddConditionView(){}
		__class(AddConditionView,'laya.ide.plugin.as3plugin.E_core.cells.AddConditionView');
		return AddConditionView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddCreatePropertyView
	var AddCreatePropertyView=(function(){
		function AddCreatePropertyView(){}
		__class(AddCreatePropertyView,'laya.ide.plugin.as3plugin.E_core.cells.AddCreatePropertyView');
		return AddCreatePropertyView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddGlobalPropertyView
	var AddGlobalPropertyView=(function(){
		function AddGlobalPropertyView(){}
		__class(AddGlobalPropertyView,'laya.ide.plugin.as3plugin.E_core.cells.AddGlobalPropertyView');
		return AddGlobalPropertyView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddInputListView
	var AddInputListView=(function(){
		function AddInputListView(){}
		__class(AddInputListView,'laya.ide.plugin.as3plugin.E_core.cells.AddInputListView');
		return AddInputListView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddLocalPropertyView
	var AddLocalPropertyView=(function(){
		function AddLocalPropertyView(){}
		__class(AddLocalPropertyView,'laya.ide.plugin.as3plugin.E_core.cells.AddLocalPropertyView');
		return AddLocalPropertyView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddPropertyItemView
	var AddPropertyItemView=(function(){
		function AddPropertyItemView(){}
		__class(AddPropertyItemView,'laya.ide.plugin.as3plugin.E_core.cells.AddPropertyItemView');
		return AddPropertyItemView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.CreateEventView
	var CreateEventView=(function(){
		function CreateEventView(){};
		__class(CreateEventView,'laya.ide.plugin.as3plugin.E_core.cells.CreateEventView');
		var __proto=CreateEventView.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.ICell":true})
		/**
		*
		*@param value:{name:需要创建的事件的名称}
		*@return
		*/
		__proto.execute=function(value){
			var event=MakerSystemContainer.instance.getEvent(value.name);
			var eventView=new EventTitleMaterial_GC(event);
			return eventView;
		}

		return CreateEventView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveActionView
	var RemoveActionView=(function(){
		function RemoveActionView(){}
		__class(RemoveActionView,'laya.ide.plugin.as3plugin.E_core.cells.RemoveActionView');
		return RemoveActionView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveAddGlobalPropertyView
	var RemoveAddGlobalPropertyView=(function(){
		function RemoveAddGlobalPropertyView(){}
		__class(RemoveAddGlobalPropertyView,'laya.ide.plugin.as3plugin.E_core.cells.RemoveAddGlobalPropertyView');
		return RemoveAddGlobalPropertyView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveConditionView
	var RemoveConditionView=(function(){
		function RemoveConditionView(){}
		__class(RemoveConditionView,'laya.ide.plugin.as3plugin.E_core.cells.RemoveConditionView');
		return RemoveConditionView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveCreatePropertyView
	var RemoveCreatePropertyView=(function(){
		function RemoveCreatePropertyView(){}
		__class(RemoveCreatePropertyView,'laya.ide.plugin.as3plugin.E_core.cells.RemoveCreatePropertyView');
		return RemoveCreatePropertyView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveEventView
	var RemoveEventView=(function(){
		function RemoveEventView(){}
		__class(RemoveEventView,'laya.ide.plugin.as3plugin.E_core.cells.RemoveEventView');
		return RemoveEventView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveInputListView
	var RemoveInputListView=(function(){
		function RemoveInputListView(){}
		__class(RemoveInputListView,'laya.ide.plugin.as3plugin.E_core.cells.RemoveInputListView');
		return RemoveInputListView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveLocalPropertyView
	var RemoveLocalPropertyView=(function(){
		function RemoveLocalPropertyView(){}
		__class(RemoveLocalPropertyView,'laya.ide.plugin.as3plugin.E_core.cells.RemoveLocalPropertyView');
		return RemoveLocalPropertyView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemovePropertyItemView
	var RemovePropertyItemView=(function(){
		function RemovePropertyItemView(){}
		__class(RemovePropertyItemView,'laya.ide.plugin.as3plugin.E_core.cells.RemovePropertyItemView');
		return RemovePropertyItemView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemovePropertyView
	var RemovePropertyView=(function(){
		function RemovePropertyView(){}
		__class(RemovePropertyView,'laya.ide.plugin.as3plugin.E_core.cells.RemovePropertyView');
		return RemovePropertyView;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.RemoveTreeMenuItem
	var RemoveTreeMenuItem=(function(){
		function RemoveTreeMenuItem(){}
		__class(RemoveTreeMenuItem,'laya.ide.plugin.as3plugin.E_core.cells.RemoveTreeMenuItem');
		return RemoveTreeMenuItem;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.action.CreateActionCell
	var CreateActionCell=(function(){
		function CreateActionCell(){};
		__class(CreateActionCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.action.CreateActionCell');
		CreateActionCell.execute=function(panelName,mParent,actionName,eventID,postionViewID){
			var action=MakerSystemContainer.instance.getAction(actionName);
			var actionTitleViewID=IDCreaterTool.createID;
			var title=new ActionTitleMaterial_GC(eventID,actionTitleViewID,action.title,action.name,mParent);
			CurrentViewContainer.instance.addView(panelName,mParent,actionTitleViewID,title);
			var i=0;
			var arr=action.param;
			for(;i<arr.length;i++){
				var cellID=IDCreaterTool.createID;
				var par=new ActionCellMaterial_GC(eventID,actionTitleViewID,cellID,arr[i].title,arr[i].type,arr[i].auto);
				CurrentViewContainer.instance.addView(panelName,mParent,cellID,par);
			}
		}

		return CreateActionCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.action.DeleteActionCell
	var DeleteActionCell=(function(){
		function DeleteActionCell(){}
		__class(DeleteActionCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.action.DeleteActionCell');
		return DeleteActionCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.action.MoveActionCell
	var MoveActionCell=(function(){
		function MoveActionCell(){}
		__class(MoveActionCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.action.MoveActionCell');
		return MoveActionCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.condition.AddConditionCell
	var AddConditionCell=(function(){
		function AddConditionCell(){};
		__class(AddConditionCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.condition.AddConditionCell');
		AddConditionCell.execute=function(viewID,addCallBack){
			var value=CurrentClassJsonContainer.instance.getCondition(viewID);
			ConditionView_GC.instance.openSelf(value,function(value){
				CurrentClassJsonContainer.instance.addCondition(viewID,value);
				addCallBack(value);
			})
		}

		return AddConditionCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.condition.CloseConditionCell
	var CloseConditionCell=(function(){
		function CloseConditionCell(){}
		__class(CloseConditionCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.condition.CloseConditionCell');
		return CloseConditionCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.event.CreateEventViewCell
	var CreateEventViewCell=(function(){
		function CreateEventViewCell(){};
		__class(CreateEventViewCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.event.CreateEventViewCell');
		CreateEventViewCell.execute=function(panelName,parent,eventKey){
			var event=MakerSystemContainer.instance.getEvent(eventKey);
			var viewID=IDCreaterTool.createID;
			CurrentClassJsonContainer.instance.addEvent(eventKey,event.name,event.target,viewID);
			var eventView=new EventTitleMaterial_GC(parent,viewID,event.name,event.nameCanEdit,event.targetCanEdit,event.title,event.target);
			CurrentViewContainer.instance.addView(panelName,parent,viewID,eventView);
			return eventView;
		}

		return CreateEventViewCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.event.DeleteEventCell
	var DeleteEventCell=(function(){
		function DeleteEventCell(){}
		__class(DeleteEventCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.event.DeleteEventCell');
		return DeleteEventCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.event.MoveEventCell
	var MoveEventCell=(function(){
		function MoveEventCell(){}
		__class(MoveEventCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.event.MoveEventCell');
		return MoveEventCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.layout.LayoutCell
	var LayoutCell=(function(){
		function LayoutCell(){};
		__class(LayoutCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.layout.LayoutCell');
		var __proto=LayoutCell.prototype;
		__proto.updateLayout=function(){}
		LayoutCell.execute=function(parent,views){
			parent.y=0;
			var i=0;
			var currentHeight=0;
			for(;i<views.length;i++){
				views[i].pos(0,currentHeight);
				views[i].left=0;
				views[i].right=0;
				currentHeight+=views[i].height+5;
			}
			parent.refresh();
		}

		return LayoutCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.menu.ShowMenuCell
	var ShowMenuCell=(function(){
		function ShowMenuCell(){};
		__class(ShowMenuCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.menu.ShowMenuCell');
		ShowMenuCell.execute=function(menuData,xPosition,yPosition,parent,clickCallBack){
			var eventMenu=new TreeMenuMaterial_GC_Other();
			eventMenu.classItem=TreeMenuItemMaterial;
			eventMenu.width=120;
			eventMenu.show_GC(parent,menuData);
			eventMenu.on(/*laya.events.Event.SELECT*/"select",parent,clickCallBack);
			parent.refresh();
			return eventMenu;
		}

		return ShowMenuCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.property.AddPropertyCell
	var AddPropertyCell=(function(){
		function AddPropertyCell(){}
		__class(AddPropertyCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.property.AddPropertyCell');
		return AddPropertyCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.property.ClosePropertyPanelCell
	var ClosePropertyPanelCell=(function(){
		function ClosePropertyPanelCell(){}
		__class(ClosePropertyPanelCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.property.ClosePropertyPanelCell');
		return ClosePropertyPanelCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.property.DeletePropertyCell
	var DeletePropertyCell=(function(){
		function DeletePropertyCell(){}
		__class(DeletePropertyCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.property.DeletePropertyCell');
		return DeletePropertyCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.property.OpenPropertyPanelCell
	var OpenPropertyPanelCell=(function(){
		function OpenPropertyPanelCell(){};
		__class(OpenPropertyPanelCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.property.OpenPropertyPanelCell');
		var __proto=OpenPropertyPanelCell.prototype;
		__proto.openMember=function(){}
		__proto.openPart=function(){}
		__proto.openGlobal=function(){}
		OpenPropertyPanelCell.execute=function(propertyType,addCallBack){}
		return OpenPropertyPanelCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.property.PropertyType
	var PropertyType=(function(){
		function PropertyType(){};
		__class(PropertyType,'laya.ide.plugin.as3plugin.E_core.cells_GC.property.PropertyType');
		PropertyType.Member="Member";
		PropertyType.Global="Global";
		PropertyType.Part="Part";
		return PropertyType;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells_GC.title.CreateTitleCell
	var CreateTitleCell=(function(){
		function CreateTitleCell(){};
		__class(CreateTitleCell,'laya.ide.plugin.as3plugin.E_core.cells_GC.title.CreateTitleCell');
		CreateTitleCell.execute=function(parent,openBtnFunction,titleName,addBtnFunction){
			var viewID=IDCreaterTool.createID;
			var view=new TitleMaterial(viewID,openBtnFunction,titleName,addBtnFunction);
			CurrentViewContainer.instance.addView(PanelName.scriptPanel,parent,viewID,view);
			return view;
		}

		return CreateTitleCell;
	})()


	//class laya.ide.plugin.as3plugin.E_core.coreGlobal.CallBackGlobalName
	var CallBackGlobalName=(function(){
		function CallBackGlobalName(){}
		__class(CallBackGlobalName,'laya.ide.plugin.as3plugin.E_core.coreGlobal.CallBackGlobalName');
		CallBackGlobalName.addEventNormalEnd="addEventNormalEnd";
		CallBackGlobalName.addEventRevocation="addEventRevocation";
		CallBackGlobalName.addNormalEnd="addNormalEnd";
		CallBackGlobalName.addRevocation="addRevocation";
		CallBackGlobalName.deleteNormalEnd="deleteNormalEnd";
		CallBackGlobalName.deleteRevocation="deleteRevocation";
		CallBackGlobalName.keyInputNormalEnd="keyInputNormalEnd";
		CallBackGlobalName.keyInputEnd="keyInputEnd";
		CallBackGlobalName.keyInputRevocation="keyInputRevocation";
		CallBackGlobalName.listInputNormalEnd="listInputNormalEnd";
		CallBackGlobalName.listInputRevocation="listInputRevocation";
		CallBackGlobalName.chooseNormalEnd="chooseNormalEnd";
		CallBackGlobalName.chooseEnd="chooseEnd";
		CallBackGlobalName.chooseRevocation="chooseRevocation";
		CallBackGlobalName.modifyEnd="modifyEnd";
		CallBackGlobalName.modifyRevocation="modifyRevocation";
		CallBackGlobalName.unfoldAndFoldNormalEnd="unfoldAndFoldNormalEnd";
		CallBackGlobalName.unfoldAndFoldRevocation="unfoldAndFoldRevocation";
		CallBackGlobalName.dragNormalEnd="dragNormalEnd";
		CallBackGlobalName.dragRevocation="dragRevocation";
		CallBackGlobalName.openPanel="openPanel";
		CallBackGlobalName.closePanel="closePanel";
		CallBackGlobalName.closePanelRevocation="closePanelRevocation";
		return CallBackGlobalName;
	})()


	//class laya.ide.plugin.as3plugin.E_core.coreGlobal.GlobalTool
	var GlobalTool=(function(){
		function GlobalTool(){}
		__class(GlobalTool,'laya.ide.plugin.as3plugin.E_core.coreGlobal.GlobalTool');
		return GlobalTool;
	})()


	//class laya.ide.plugin.as3plugin.E_core.coreGlobal.IDCreaterTool
	var IDCreaterTool=(function(){
		function IDCreaterTool(){};
		__class(IDCreaterTool,'laya.ide.plugin.as3plugin.E_core.coreGlobal.IDCreaterTool');
		/**
		*创建新ID
		*/
		__getset(1,IDCreaterTool,'createID',function(){
			IDCreaterTool._maxID+=1;
			return IDCreaterTool._maxID;
		});

		/**
		*将已经生成的ID传给ID生成器，进行记录
		*@param value
		*/
		__getset(1,IDCreaterTool,'recordID',null,function(value){
			if (value > IDCreaterTool._maxID){
				IDCreaterTool._maxID=value;
			}
		});

		IDCreaterTool.getCurrentMaxID=function(){
			return IDCreaterTool._maxID;
		}

		IDCreaterTool.clear=function(){
			IDCreaterTool._maxID=0;
		}

		IDCreaterTool._maxID=0;
		return IDCreaterTool;
	})()


	//class laya.ide.plugin.as3plugin.E_core.coreGlobal.MinScriptSystem
	var MinScriptSystem=(function(){
		function MinScriptSystem(){};
		__class(MinScriptSystem,'laya.ide.plugin.as3plugin.E_core.coreGlobal.MinScriptSystem');
		MinScriptSystem.checkIsRes=function(type){
			return MinScriptSystem.resTypes[type];
		}

		MinScriptSystem.Custom='custom';
		__static(MinScriptSystem,
		['ValueTypes',function(){return this.ValueTypes=[ /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Code*/'code','number','string','bool','node','res'];},'LocalValueTypes',function(){return this.LocalValueTypes=[ /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Code*/'code','number','string','bool','res'];},'resTypes',function(){return this.resTypes={res:true};}
		]);
		return MinScriptSystem;
	})()


	//class laya.ide.plugin.as3plugin.E_core.coreGlobal.ObjectPool
	var ObjectPool=(function(){
		function ObjectPool(objClass){
			this.name=null;
			this._pool=null;
			this._objClass
			this._objClass=objClass;
			this._pool=[];
		}

		__class(ObjectPool,'laya.ide.plugin.as3plugin.E_core.coreGlobal.ObjectPool');
		var __proto=ObjectPool.prototype;
		__proto.getObject=function(){
			if(this._pool.length>0){
				return this._pool.pop();
			}
			return new this._objClass;
		}

		__proto.updateClass=function(cla){
			this._objClass=cla;
			this._pool.length=0;
		}

		__proto.returnObject=function(obj){
			this._pool.push(obj);
		}

		return ObjectPool;
	})()


	//class laya.ide.plugin.as3plugin.E_core.errorLogic.InhibitingInputErrorLogic
	var InhibitingInputErrorLogic=(function(){
		function InhibitingInputErrorLogic(){}
		__class(InhibitingInputErrorLogic,'laya.ide.plugin.as3plugin.E_core.errorLogic.InhibitingInputErrorLogic');
		return InhibitingInputErrorLogic;
	})()


	//class laya.ide.plugin.as3plugin.E_core.errorLogic.PopErrorLogic
	var PopErrorLogic=(function(){
		function PopErrorLogic(){}
		__class(PopErrorLogic,'laya.ide.plugin.as3plugin.E_core.errorLogic.PopErrorLogic');
		return PopErrorLogic;
	})()


	//class laya.ide.plugin.as3plugin.E_core.expLogic.CallEXPLogic
	var CallEXPLogic=(function(){
		function CallEXPLogic(){}
		__class(CallEXPLogic,'laya.ide.plugin.as3plugin.E_core.expLogic.CallEXPLogic');
		return CallEXPLogic;
	})()


	//class laya.ide.plugin.as3plugin.E_core.expLogic.ClassEXPLogic
	var ClassEXPLogic=(function(){
		function ClassEXPLogic(){}
		__class(ClassEXPLogic,'laya.ide.plugin.as3plugin.E_core.expLogic.ClassEXPLogic');
		return ClassEXPLogic;
	})()


	//class laya.ide.plugin.as3plugin.E_core.expLogic.FunctionEXPLogic
	var FunctionEXPLogic=(function(){
		function FunctionEXPLogic(){}
		__class(FunctionEXPLogic,'laya.ide.plugin.as3plugin.E_core.expLogic.FunctionEXPLogic');
		return FunctionEXPLogic;
	})()


	//class laya.ide.plugin.as3plugin.E_core.expLogic.JsonToEXP
	var JsonToEXP=(function(){
		function JsonToEXP(){}
		__class(JsonToEXP,'laya.ide.plugin.as3plugin.E_core.expLogic.JsonToEXP');
		JsonToEXP.open=function(url){
			try {
				var txt=FileManager.readTxtFile(url)
				var json=JSON.parse(txt);
				var cla=ExpressionFactory.createExpressionByType(/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Class*/'class');
				cla.read(json);
				return cla;
			}
			catch (e){
				console.log(e);
			}
			return null;
		}

		JsonToEXP.createFunctionExp=function(cla,name){
			var funcExp=ExpressionFactory.createExpressionByType(/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Function*/'function');
			var i=0;
			while (true){
				if (!cla.existFunction(name+i)){
					break ;
				}
				i++;
			}
			funcExp.auto(name+i,name);
			cla.addFunction(funcExp);
			return funcExp;
		}

		JsonToEXP.createCallExp=function(name){
			var callExpData=MakerSystemActionContainer.expressLib.finder(name);
			var params=callExpData.param;
			var callExp=ExpressionFactory.createExpressionByType(callExpData.isBrace ? /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Callbody*/'callbody' :/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Call*/'call')
			callExp.setName(name);
			for (var i=0;i < params.length;i++){
				var param=params[i];
				if (param.auto){
					param.value=param.auto;
				};
				var codeExp=ExpressionFactory.createExpression(param);
				callExp.setParam(codeExp,i);
			}
			if ((callExp instanceof laya.ide.plugin.as3plugin.G_EXP.CallBodyExp )){
				(callExp).bodyExp=ExpressionFactory.createExpressionByType(/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Body*/'body')
			}
			return callExp;
		}

		return JsonToEXP;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.action.actionList.CloseActionList
	var CloseActionList=(function(){
		function CloseActionList(){}
		__class(CloseActionList,'laya.ide.plugin.as3plugin.E_core.steps.action.actionList.CloseActionList');
		return CloseActionList;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.action.actionList.OpenActionList
	var OpenActionList=(function(){
		function OpenActionList(){}
		__class(OpenActionList,'laya.ide.plugin.as3plugin.E_core.steps.action.actionList.OpenActionList');
		return OpenActionList;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.list.ListClickType
	var ListClickType=(function(){
		function ListClickType(){}
		__class(ListClickType,'laya.ide.plugin.as3plugin.E_core.steps.list.ListClickType');
		ListClickType.ADDEVENT="EVENT";
		ListClickType.ADDACTION="ACTION";
		ListClickType.QUICKINPUT="INPUT";
		return ListClickType;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.list.ListManager
	var ListManager=(function(){
		function ListManager(){
			this.lists=new Object();
		}

		__class(ListManager,'laya.ide.plugin.as3plugin.E_core.steps.list.ListManager');
		var __proto=ListManager.prototype;
		__proto.Add=function(rootName,item){
			if(this.lists[rootName]==null){
				this.lists[rootName]=[];
			}
			this.lists[rootName].push(item);
		}

		__proto.Remove=function(rootName){}
		__proto.RemoveAll=function(){}
		__static(ListManager,
		['instance',function(){return this.instance=this;}
		]);
		return ListManager;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.property.porpertyList.CloseProperty
	var CloseProperty=(function(){
		function CloseProperty(){}
		__class(CloseProperty,'laya.ide.plugin.as3plugin.E_core.steps.property.porpertyList.CloseProperty');
		return CloseProperty;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.property.porpertyList.OpenProperty
	var OpenProperty=(function(){
		function OpenProperty(){}
		__class(OpenProperty,'laya.ide.plugin.as3plugin.E_core.steps.property.porpertyList.OpenProperty');
		return OpenProperty;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.propertyType.ClosePropertyTypeList
	var ClosePropertyTypeList=(function(){
		function ClosePropertyTypeList(){}
		__class(ClosePropertyTypeList,'laya.ide.plugin.as3plugin.E_core.steps.propertyType.ClosePropertyTypeList');
		return ClosePropertyTypeList;
	})()


	//class laya.ide.plugin.as3plugin.E_core.steps.propertyType.OpenPropertyTypeList
	var OpenPropertyTypeList=(function(){
		function OpenPropertyTypeList(){}
		__class(OpenPropertyTypeList,'laya.ide.plugin.as3plugin.E_core.steps.propertyType.OpenPropertyTypeList');
		return OpenPropertyTypeList;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container.ClassTXTContainer
	var ClassTXTContainer=(function(){
		function ClassTXTContainer(className){}
		__class(ClassTXTContainer,'laya.ide.plugin.as3plugin.F_data.container.ClassTXTContainer');
		//属性
		//属性
		__getset(1,ClassTXTContainer,'instance',function(){
			if (ClassTXTContainer._instance){
				return ClassTXTContainer._instance;
			}
			else {
				var creater=new ClassTXTContainerCreater();
				var controller=new ClassTXTContainerController();
				ClassTXTContainer._instance=new Container(creater,controller);
				return ClassTXTContainer._instance;
			}
			},function(value){
			ClassTXTContainer._instance=value;
		});

		ClassTXTContainer.clear=function(){
			ClassTXTContainer._instance=null;
		}

		ClassTXTContainer.getClassNameFromPath=function(classPath){
			if(!classPath){
				return '';
			};
			var start=classPath.indexOf('/');
			var end=classPath.indexOf('.');
			return classPath.substring(start+1,end);
		}

		ClassTXTContainer.createClassTXTName=function(){
			return 'Class'+Browser.now();
		}

		ClassTXTContainer.getPathByClassName=function(classTXTName){
			return ClassTXTContainer.codePathDir()+classTXTName+'.lmscript';
		}

		ClassTXTContainer.codePath=function(){
			return IDEAPIS.workPath+'\\laya\\code';
		}

		ClassTXTContainer.codePathDir=function(){
			return ClassTXTContainer.codePath()+"\\";
		}

		ClassTXTContainer._instance=null
		return ClassTXTContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container.ErrorLogicContainer
	var ErrorLogicContainer=(function(){
		function ErrorLogicContainer(){}
		__class(ErrorLogicContainer,'laya.ide.plugin.as3plugin.F_data.container.ErrorLogicContainer');
		ErrorLogicContainer.getErrorLogic=function(name){
			if(!ErrorLogicContainer.errorLogics){
				ErrorLogicContainer.errorLogics=new Container(new ErrorLogicContainerCreater(),null);
			}
			return ErrorLogicContainer.errorLogics.objects [name];
		}

		ErrorLogicContainer.errorLogics=null
		return ErrorLogicContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container.EXPLogicContainer
	var EXPLogicContainer=(function(){
		function EXPLogicContainer(){}
		__class(EXPLogicContainer,'laya.ide.plugin.as3plugin.F_data.container.EXPLogicContainer');
		EXPLogicContainer.getEXPLogic=function(name){
			if(!EXPLogicContainer.expLogics){
				EXPLogicContainer.expLogics=new Container(new EXPLogicContainerCreater(),null);
			}
			return EXPLogicContainer.expLogics.objects [name];
		}

		EXPLogicContainer.expLogics=null
		return EXPLogicContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container.GlobalPropertiesContainer
	var GlobalPropertiesContainer=(function(){
		function GlobalPropertiesContainer(){}
		__class(GlobalPropertiesContainer,'laya.ide.plugin.as3plugin.F_data.container.GlobalPropertiesContainer');
		//属性
		//属性
		__getset(1,GlobalPropertiesContainer,'instance',function(){
			if (GlobalPropertiesContainer._instance){
				return GlobalPropertiesContainer._instance;
			}
			else {
				var creater=new GlobalPropertiesContainerCreater(GlobalPropertiesContainer.globalPropertiesPath);
				var controller=new GlobalPropertiesContainerController();
				GlobalPropertiesContainer._instance=new Container(creater,controller);
				return GlobalPropertiesContainer._instance;
			}
			},function(value){
			GlobalPropertiesContainer._instance=value;
		});

		GlobalPropertiesContainer.clear=function(){
			GlobalPropertiesContainer._instance=null;
		}

		GlobalPropertiesContainer._instance=null
		__static(GlobalPropertiesContainer,
		['globalPropertiesPath',function(){return this.globalPropertiesPath=IDEAPIS.workPath+'\\laya\\code\\global.json';}
		]);
		return GlobalPropertiesContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container.MakerSystemActionContainer
	var MakerSystemActionContainer=(function(){
		function MakerSystemActionContainer(){}
		__class(MakerSystemActionContainer,'laya.ide.plugin.as3plugin.F_data.container.MakerSystemActionContainer');
		__getset(1,MakerSystemActionContainer,'expressByTitle',function(){
			if (MakerSystemActionContainer._expressByTitle){
				return MakerSystemActionContainer._expressByTitle;
			}
			else {
				MakerSystemActionContainer.init();
				return MakerSystemActionContainer._expressByTitle;
			}
			},function(value){
			MakerSystemActionContainer._expressByTitle=value;
		});

		__getset(1,MakerSystemActionContainer,'expressLib',function(){
			if (MakerSystemActionContainer._expressLib){
				return MakerSystemActionContainer._expressLib;
			}
			else {
				MakerSystemActionContainer.init();
				return MakerSystemActionContainer._expressLib;
			}
			},function(value){
			MakerSystemActionContainer._expressLib=value;
		});

		__getset(1,MakerSystemActionContainer,'expressGroup',function(){
			if (MakerSystemActionContainer._expressGroup){
				return MakerSystemActionContainer._expressGroup;
			}
			else {
				MakerSystemActionContainer.init();
				return MakerSystemActionContainer._expressGroup;
			}
			},function(value){
			MakerSystemActionContainer._expressGroup=value;
		});

		__getset(1,MakerSystemActionContainer,'makerSystemActionPath',function(){
			return FileManager.getAppPath("renders/plugins/Editor/")+'MakerSystem.json';
		});

		MakerSystemActionContainer.init=function(){
			if (!MakerSystemActionContainer._expressByTitle || !MakerSystemActionContainer._expressGroup || !MakerSystemActionContainer._expressLib){
				var creater=new MakerSystemActionContainerJsonCreater(MakerSystemActionContainer.makerSystemActionPath);
				MakerSystemActionContainer._expressByTitle=new Container(null,new DictionaryContainerController());
				MakerSystemActionContainer._expressLib=new Container(null,new DictionaryContainerController());
				var actions=creater.createContainer();
				if(actions){
					MakerSystemActionContainer._expressByTitle.objects=actions["Title"];
					MakerSystemActionContainer._expressGroup=actions["Group"];
					MakerSystemActionContainer._expressLib.objects=actions["EXP"];
				}
				else{
					MakerSystemActionContainer._expressByTitle.objects={};
					MakerSystemActionContainer._expressGroup=new GroupMap();
					MakerSystemActionContainer._expressLib.objects={};
				}
			}
		}

		MakerSystemActionContainer._expressByTitle=null
		MakerSystemActionContainer._expressGroup=null
		MakerSystemActionContainer._expressLib=null
		MakerSystemActionContainer._makerSystemActionPath=null
		return MakerSystemActionContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container.MakerSystemEventContainer
	var MakerSystemEventContainer=(function(){
		function MakerSystemEventContainer(){}
		__class(MakerSystemEventContainer,'laya.ide.plugin.as3plugin.F_data.container.MakerSystemEventContainer');
		var __proto=MakerSystemEventContainer.prototype;
		__getset(0,__proto,'eventArr',null,function(value){
			MakerSystemEventContainer._eventArr=value;
		});

		__getset(1,MakerSystemEventContainer,'eventsByTitle',function(){
			if (MakerSystemEventContainer._eventsByTitle){
				return MakerSystemEventContainer._eventsByTitle;
			}
			else {
				MakerSystemEventContainer.init();
				return MakerSystemEventContainer._eventsByTitle;
			}
			},function(value){
			MakerSystemEventContainer._eventsByTitle=value;
		});

		__getset(1,MakerSystemEventContainer,'eventLib',function(){
			if (MakerSystemEventContainer._eventLib){
				return MakerSystemEventContainer._eventLib;
			}
			else {
				MakerSystemEventContainer.init();
				return MakerSystemEventContainer._eventLib;
			}
			},function(value){
			MakerSystemEventContainer._eventLib=value;
		});

		__getset(1,MakerSystemEventContainer,'eventArr',function(){
			if (MakerSystemEventContainer._eventArr){
				return MakerSystemEventContainer._eventArr;
			}
			else {
				MakerSystemEventContainer.init();
				return MakerSystemEventContainer._eventArr;
			}
		});

		__getset(1,MakerSystemEventContainer,'makerSystemEventPath',function(){
			return FileManager.getAppPath("renders/plugins/Editor/")+'MakerSystem.json';
		});

		MakerSystemEventContainer.init=function(){
			if(!MakerSystemEventContainer._eventsByTitle||!MakerSystemEventContainer._eventArr||!MakerSystemEventContainer._eventLib){
				var creater=new MakerSystemEventContainerJsonCreater(MakerSystemEventContainer.makerSystemEventPath);
				MakerSystemEventContainer._eventsByTitle=new Container(null,new DictionaryContainerController());
				MakerSystemEventContainer._eventArr=new Container(null,new ArrayContainerController());
				MakerSystemEventContainer._eventLib=new Container(null,new DictionaryContainerController());
				var events=creater.createContainer();
				if(events){
					MakerSystemEventContainer._eventsByTitle.objects=events["Title"];
					MakerSystemEventContainer._eventArr.objects=events["Arr"];
					MakerSystemEventContainer._eventLib.objects=events["EXP"];
				}
				else{
					MakerSystemEventContainer._eventsByTitle.objects={};
					MakerSystemEventContainer._eventArr.objects={};
					MakerSystemEventContainer._eventLib.objects={};
				}
			}
		}

		MakerSystemEventContainer._eventsByTitle=null
		MakerSystemEventContainer._eventArr=null
		MakerSystemEventContainer._eventLib=null
		MakerSystemEventContainer._makerSystemEventPath=null
		return MakerSystemEventContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container.SaveObjectsContainer
	var SaveObjectsContainer=(function(){
		function SaveObjectsContainer(){}
		__class(SaveObjectsContainer,'laya.ide.plugin.as3plugin.F_data.container.SaveObjectsContainer');
		//属性
		//属性
		__getset(1,SaveObjectsContainer,'instance',function(){
			if (SaveObjectsContainer._instance){
				return SaveObjectsContainer._instance;
			}
			else {
				var creater=new SaveObjectsContainerCreater(SaveObjectsContainer.saveObjectsPath);
				var controller=new SaveObjectsContainerController();
				SaveObjectsContainer._instance=new Container(creater,controller);
				return SaveObjectsContainer._instance;
			}
			},function(value){
			SaveObjectsContainer._instance=value;
		});

		SaveObjectsContainer.clear=function(){
			SaveObjectsContainer._instance=null;
		}

		SaveObjectsContainer._instance=null
		__static(SaveObjectsContainer,
		['saveObjectsPath',function(){return this.saveObjectsPath=IDEAPIS.workPath+'\\laya\\code\\savedata.json';}
		]);
		return SaveObjectsContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.containerInit_GC.CurrentClassJsonInit_GC
	var CurrentClassJsonInit_GC=(function(){
		function CurrentClassJsonInit_GC(){
			this.classObj={
				"name":"Class1537275159735",
				"type":"class",
				"version":0.0001,
				"vars":[{
					"name":"rg",
					"type":"var",
					"auto":2324234,
					"valueType":"number"
					},{
					"name":"dsf",
					"type":"var",
					"auto":"@node:14",
					"valueType":"node"
				}],
				"functions":[{
					"name":"click0",
					"type":"function",
					"customevent":"click",
					"vars":[{
						"name":"sfsd",
						"type":"var",
						"auto":"sdfsdf",
						"valueType":"code"
						},{
						"name":"gdgfd",
						"type":"var",
						"auto":2434242,
						"valueType":"number"
					}],
					"ownerName":"this.owner.test",
					"event":"click",
					"condition":{
						"value":"vdsgfsfgfnfnxzdbzd",
						"type":"code",
						"isCodeMode":false
					},
					"bodys":[{
						"x":null,
						"y":null,
						"children":[{
							"name":"MakerSystemAction3D.setLinearVelocity",
							"type":"call",
							"param":[{
								"value":"egdfg",
								"type":"code"
								},{
								"value":"44345",
								"type":"number"
								},{
								"value":"435",
								"type":"number"
								},{
								"value":"64562",
								"type":"number"
							}],
							"condition":{
								"value":"sdfxvxvsdf",
								"type":"code",
								"isCodeMode":false
							}
							},{
							"name":"MakerSystemAction.dispathAgencyEvent",
							"type":"call",
							"param":[{
								"type":"string"
								},{
								"value":"[]",
								"type":"code"
							}]
							},{
							"name":"MakerSystemAction3D.initGameData",
							"type":"call",
							"param":[]
						}]
					}]
					},{
					"name":"custom0",
					"type":"function",
					"customevent":"testtest",
					"vars":[],
					"ownerName":"this.owner.testtest",
					"event":"custom",
					"bodys":[{
						"x":null,
						"y":null,
						"children":[{
							"name":"MakerSystemAction.moveByRockerBegin",
							"type":"call",
							"param":[{
								"value":"fgdf",
								"type":"code"
								},{
								"value":"bdbcxb",
								"type":"code"
							}],
							"condition":{
								"value":"dfgdgfdfg",
								"type":"code",
								"isCodeMode":false
							}
							},{
							"name":"MakerSystemAction.changeCD",
							"type":"call",
							"param":[{
								"value":"45354",
								"type":"number"
								},{
								"value":"",
								"type":"code"
							}]
						}]
					}]
				}]
			};
		}

		__class(CurrentClassJsonInit_GC,'laya.ide.plugin.as3plugin.F_data.containerInit_GC.CurrentClassJsonInit_GC');
		var __proto=CurrentClassJsonInit_GC.prototype;
		/**
		*将文件读到内存中
		*@param classPath
		*/
		__proto.init=function(classPath){
			if (FileManager.exists(classPath)){
				this.classObj=FileManager.readJSONFile(classPath);
			}
			else {
				this.classObj={};
			}
		}

		/**
		*为每个成员变量生成ID
		*@return
		*/
		__proto.createCurrentMemberProperty=function(){
			var property=this.classObj.vars;
			var dic=new LayaDictionary();
			if(property){
				var i=NaN;
				var len=property.length;
				for(i=0;i<len;i++){
					dic.add(IDCreaterTool.createID,property[i]);
				}
			}
			return dic;
		}

		/**
		*为每个event生成ID
		*@return
		*/
		__proto.createCurrentEvent=function(){
			var event=this.classObj.functions;
			var dic=new LayaDictionary();
			if(event){
				var i=NaN;
				var len=event.length;
				for(i=0;i<len;i++){
					dic.add(IDCreaterTool.createID,event[i]);
				}
			}
			return dic;
		}

		return CurrentClassJsonInit_GC;
	})()


	//class laya.ide.plugin.as3plugin.F_data.containerInit_GC.MakerSystemInit_GC
	var MakerSystemInit_GC=(function(){
		function MakerSystemInit_GC(){
			this.value={
				"expressions":
				[{
					"title":"赋值属性",
					"group":"属性",
					"name":"setProperty",
					"code":"{0}={1}",
					"param":
					[{
						"title":"name",
						"type":"any",
						"auto":null,
						"desc":"xxx"
						},{
						"title":"value",
						"type":"any",
						"auto":null,
						"desc":"xxx"
					}]
				}],
				"events":
				[{
					"title":"鼠标点击",
					"group":"input",
					"name":"click",
					"target":"this.owner",
					"nameCanEdit":false,
					"targetCanEdit":true,
					"param":["from","isGroup"]
				},]
			};
		}

		__class(MakerSystemInit_GC,'laya.ide.plugin.as3plugin.F_data.containerInit_GC.MakerSystemInit_GC');
		var __proto=MakerSystemInit_GC.prototype;
		/**
		*容器初始化器
		*/
		__proto.containerInit=function(){
			if (FileManager.exists(this.makerSystemPath())){
				this.value=FileManager.readJSONFile(this.makerSystemPath());
			}
			else {
				this.value={};
			}
		}

		/**
		*初始化事件字典
		*@return
		*/
		__proto.initEvent=function(){
			var dic={};
			if (this.value.events){
				var i=0;
				var len=this.value.events.length;
				for (;i < len;i++){
					var obj=this.value.events[i];
					if (dic[obj.name]){
						LayaPluginsConsole.log("events的键存在重复："+obj.name);
					}
					else {
						dic[obj.name]=obj;
					}
				}
			}
			return dic;
		}

		__proto.initEventMenuName=function(){
			var i=0;
			var len=0;
			var events;
			if (this.value){
				events=this.value.events;
				if (events){
					len=events.length;
				}
			};
			var keys=[];
			var eventMenu=[];
			for (;i < len;i++){
				var index=keys.indexOf(events[i].group);
				console.log(index);
				if (index >=0){
					eventMenu[index].children.push({"name":events[i].title,"key":events[i].name,"other":""})
				}
				else {
					var obj={
						"name":events[i].group,
						"hasChild":true,
						"children":[{"name":events[i].title,"key":events[i].name,"other":""}]
					};
					keys.push(events[i].group);
					eventMenu.push(obj);
				}
			}
			return eventMenu;
		}

		/**
		*初始化行为字典
		*@return
		*/
		__proto.initAction=function(){
			var dic={};
			if (this.value.expressions){
				var i=0;
				var len=this.value.expressions.length;
				for (;i < len;i++){
					var obj=this.value.expressions[i];
					if (dic[obj.name]){
						LayaPluginsConsole.log("expressions的键存在重复："+obj.name);
					}
					else {
						dic[obj.name]=obj;
					}
				}
			}
			return dic;
		}

		__proto.initActionMenuName=function(){
			var i=0;
			var len=0;
			var actions;
			if (this.value){
				actions=this.value.expressions;
				if (actions){
					len=actions.length;
				}
			};
			var keys=[];
			var eventMenu=[];
			for (;i < len;i++){
				var index=keys.indexOf(actions[i].group);
				console.log(index);
				if (index >=0){
					eventMenu[index].children.push({"name":actions[i].title,"key":actions[i].name,"other":""})
				}
				else {
					var obj={
						"name":actions[i].group,
						"hasChild":true,
						"children":[{"name":actions[i].title,"key":actions[i].name,"other":""}]
					};
					keys.push(actions[i].group);
					eventMenu.push(obj);
				}
			}
			return eventMenu;
		}

		__proto.makerSystemPath=function(){
			return IDEAPIS.workPath+'\\laya\\eventcfg\\MakerSystem.json';
		}

		return MakerSystemInit_GC;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container_GC.BoxAndViewContainer
	var BoxAndViewContainer=(function(){
		function BoxAndViewContainer(){
			this.views=new Dictionary();
		}

		__class(BoxAndViewContainer,'laya.ide.plugin.as3plugin.F_data.container_GC.BoxAndViewContainer');
		var __proto=BoxAndViewContainer.prototype;
		/**
		*获取下一个view的ID
		*@param panelName
		*/
		__proto.getNextViewID=function(parent){
			if (this.isHavePanel(parent)){
				return this.views.get(parent).length;
			}
		}

		__proto.addView=function(parent,view){
			var mViews=this.views.get(parent);
			if (!mViews){
				mViews=[];
			}
			mViews.push(view);
			parent.addChild(view);
			this.views.set(parent,mViews);
			return mViews.length-1;
		}

		__proto.isHavePanel=function(parent){
			if (this.views.get(parent)){
				return true;
			}
			else {
				LayaPluginsConsole.log("parent不存在："+parent.name);
				return false;
			}
		}

		__proto.isHaveView=function(parent,index){
			if (this.isHavePanel(parent)){
				if (index < this.views.get(parent).length && index >=0){
					return true;
				}
				else {
					LayaPluginsConsole.log("当前parent下的view不存在:"+parent.name+":"+index);
					return false;
				}
			}
		}

		__proto.getView=function(parent,index){
			if (this.isHaveView(parent,index)){
				return this.views.get(parent)[index];
			}
			return null;
		}

		__proto.getViewLenght=function(parent){
			if (this.isHavePanel(parent)){
				return this.views.get(parent).length;
			}
		}

		__proto.clearPanel=function(parent){
			if (this.isHavePanel(parent)){
				this.views.remove(parent);
			}
		}

		__proto.cleaAll=function(){
			this.views.clear();
		}

		__static(BoxAndViewContainer,
		['instance',function(){return this.instance=new BoxAndViewContainer;}
		]);
		return BoxAndViewContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container_GC.CurrentClassJsonContainer
	var CurrentClassJsonContainer=(function(){
		function CurrentClassJsonContainer(){
			this.currentClassName=null;
			this.currentMemberProperty=null;
			this.currentEvent=null;
			this.value={
				"name":"ClassTest",
				"type":"class",
				"version":0.0001,
				"vars":[],
				"functions":[]
			};
			this.containerCreater=new CurrentClassJsonInit_GC();
		}

		__class(CurrentClassJsonContainer,'laya.ide.plugin.as3plugin.F_data.container_GC.CurrentClassJsonContainer');
		var __proto=CurrentClassJsonContainer.prototype;
		__proto.init=function(classTXTName){
			this.currentClassName=classTXTName;
			this.containerCreater.init(this.getClassTXTPath(classTXTName));
			this.currentMemberProperty=this.containerCreater.createCurrentMemberProperty();
			this.currentEvent=this.containerCreater.createCurrentEvent();
		}

		/**
		*根据class的名字，生成路径
		*@param classTXTName
		*@return
		*/
		__proto.getClassTXTPath=function(classTXTName){
			return IDEAPIS.workPath+'\\laya\\code\\'+classTXTName+'.lmscript';
		}

		/**
		*生成json文件
		*@return
		*/
		__proto.createJson=function(){
			var json={
				"name":this.currentClassName,
				"type":"class",
				"version":0.0001,
				"vars":this.currentMemberProperty.values,
				"functions":this.currentEvent.values
			};
			return json;
		}

		__proto.addEvent=function(eventName,functionName,ownerName,viewID){
			var event={
				"event":eventName,
				"viewPanel":PanelName.scriptPanel,
				"viewID":viewID,
				"customevent":eventName,
				"name":functionName,
				"type":"function",
				"vars":[],
				"ownerName":ownerName,
				"condition":{},
				"bodys":[{
					"x":null,
					"y":null,
					"children":[]
				}]
			};
			if (!this.value.functions){
				this.value.functions=[];
			}
			this.value.functions.push(event);
			return this.value.functions.length-1;
		}

		/**
		*撤销事件
		*@param eventId
		*@param event
		*/
		__proto.revocationEvent=function(eventId,event){
			this.value.functions.splice(eventId,0,event);
		}

		/**
		*是否拥有事件
		*/
		__proto.isHaveEvent=function(eventId){
			if (eventId < this.value.functions.length && eventId >=0){
				return true;
			}
			else {
				LayaPluginsConsole.log("eventID不存在:"+eventId);
				return false;
			}
		}

		/**
		*修改事件
		*/
		__proto.modifyEvent=function(eventId,eventName,functionName,ownerName){
			if (this.isHaveEvent(eventId)){
				this.value.functions[eventId].event=eventName;
				this.value.functions[eventId].customevent=eventName;
				this.value.functions[eventId].name=functionName;
				this.value.functions[eventId].ownerName=ownerName;
			}
		}

		/**
		*移除事件
		*/
		__proto.delEvent=function(eventId){
			if (this.isHaveEvent(eventId)){
				var obj=this.value.functions[eventId];
				this.value.functions.removeAt(eventId);
				return obj;
			}
		}

		__proto.getEventsLenght=function(){
			return this.value.functions.length;
		}

		/**
		*添加私有属性
		*/
		__proto.addPrivateProperty=function(eventId,nameValue,nameType,valueType){
			var property={
				"name":nameValue,
				"type":nameType,
				"auto":null,
				"valueType":valueType
			};
			if (this.isHaveEvent(eventId)){
				var obj=this.value.functions[eventId];
				if (!obj.vars){
					obj.vars=[];
				}
				obj.vars.push(property);
				return obj.vars.length-1;
			}
			return-1;
		}

		/**
		*是否包含私有属性
		*@param eventId
		*@param propertyID
		*@return
		*/
		__proto.isHavePrivateProperty=function(eventId,propertyID){
			if (this.isHaveEvent(eventId)){
				var obj=this.value.functions[eventId];
				if (obj.vars !=null && propertyID < obj.vars.length){
					return true;
				}
				else {
					LayaPluginsConsole.log("propertyID不存在:"+propertyID);
					return false;
				}
			}
			return false;
		}

		/**
		*修改私有属性
		*/
		__proto.modifyPrivateProperty=function(eventId,propertyID,nameValue,inputValue){
			if (this.isHavePrivateProperty(eventId,propertyID)){
				var obj=this.value.functions[eventId];
				obj.vars[propertyID].name=nameValue;
				obj.vars[propertyID].auto=inputValue;
			}
		}

		/**
		*移除私有属性
		*/
		__proto.delPrivateProperty=function(eventId,propertyID){
			if (this.isHavePrivateProperty(eventId,propertyID)){
				var obj=this.value.functions[eventId];
				var property=obj.vars[propertyID];
				obj.vars.removeAt(propertyID);
				return property;
			}
		}

		/**
		*撤销私有属性
		*@param eventId
		*@param propertyID
		*@param property
		*/
		__proto.revocationPrivateProperty=function(eventId,propertyID,property){
			if (this.isHavePrivateProperty(eventId,propertyID)){
				var obj=this.value.functions[eventId];
				obj.vars.splice(propertyID,0,property);
			}
		}

		/**
		*修改事件条件
		*/
		__proto.modifyEventCondition=function(eventId,condition){
			if (this.isHaveEvent(eventId)){
				this.value.functions[eventId].condition={"value":condition,"type":"object","isCodeMode":false};
			}
		}

		/**
		*添加行为
		*@param eventId
		*@param actionName
		*@param param:[{"value":"pokok","type":"code"},{"value":"this.owner",type": "code"}]
			*@return
			*/
			__proto.addAction=function(eventId,actionName,param){
				var action={
					"name":actionName,
					"type":"call",
					"param":param,
					"condition":{}
				};
				if (this.isHaveEvent(eventId)){
					var obj=this.value.functions[eventId];
					obj.bodys.push(action);
					return obj.bodys.length-1;
				}
				return-1;
			}
			/**
			*是否包含该行为
			*@param eventId
			*@param actionId
			*@return
			*/
			__proto.isHaveAction=function(eventId,actionId){
				if (this.isHaveEvent(eventId)){
					var obj=this.value.functions[eventId];
					if (obj.bodys !=null && actionId < obj.bodys.length){
						return true;
					}
					else {
						return false;
					}
				}
				return false;
			}
			/**
			*修改行为
			*@param eventId
			*@param actionId
			*@param param
			*/
			__proto.modifyAction=function(eventId,actionId,param){
				if (this.isHaveAction(eventId,actionId)){
					var obj=this.value.functions[eventId];
					obj.bodys[actionId].param=param;
				}
			}
			/**
			*删除行为
			*@param eventId
			*@param actionId
			*@return
			*/
			__proto.delAction=function(eventId,actionId){
				if (this.isHaveAction(eventId,actionId)){
					var obj=this.value.functions[eventId];
					var action=obj.bodys[actionId];
					obj.bodys.removeAt(actionId);
					return action;
				}
				return null;
			}
			/**
			*撤销行为
			*@param eventId
			*@param actionId
			*@param actoin
			*/
			__proto.revocationAction=function(eventId,actionId,actoin){
				if (this.isHaveAction(eventId,actionId)){
					var obj=this.value.functions[eventId];
					var arr=obj.bodys;
					arr.splice(actionId,0,actoin);
				}
			}
			/**
			*添加行为条件
			*@param eventId
			*@param actionId
			*@param condition
			*/
			__proto.addActionCondition=function(eventId,actionId,condition){
				if (this.isHaveAction(eventId,actionId)){
					var obj=this.value.functions[eventId];
					obj.bodys[actionId].condition={
						"value":condition,
						"type":"object",
						"isCodeMode":false
					};
				}
			}
			__proto.getCondition=function(viewID){
				return "测试";
			}
			__proto.addCondition=function(viewID,value){}
			__static(CurrentClassJsonContainer,
			['instance',function(){return this.instance=new CurrentClassJsonContainer;}
			]);
			return CurrentClassJsonContainer;
		})()

	//class laya.ide.plugin.as3plugin.F_data.container_GC.CurrentScriptViewContainer
	var CurrentScriptViewContainer=(function(){
		function CurrentScriptViewContainer(){
			this.objs=[];
		}

		__class(CurrentScriptViewContainer,'laya.ide.plugin.as3plugin.F_data.container_GC.CurrentScriptViewContainer');
		var __proto=CurrentScriptViewContainer.prototype;
		//}
		__proto.addEvent=function(event){
			var actions=[];
			this.objs.push({event:event,actions:actions});
			return this.objs.length-1;
		}

		__proto.getEvent=function(eventID){}
		__proto.getEventLenght=function(){
			return this.objs.length;
		}

		__proto.addAction=function(eventID,actionObj){
			var params=[];
			this.objs[eventID].actions.push({actionObj:actionObj,param:params});
			return this.objs[eventID].actions.length-1;
		}

		__proto.getAction=function(eventID,actionID){}
		__proto.getActionLenght=function(eventID){
			return this.objs[eventID].actions.length;
		}

		__proto.addParam=function(eventID,actionID,paramObj){
			this.objs[eventID].actions[actionID].param.push(paramObj);
			return this.objs[eventID].actions[actionID].length-1;
		}

		__proto.getParam=function(eventID,actionID,paramID){}
		__proto.getParamLenght=function(eventID,actionID){
			return this.objs[eventID].actions[actionID].length;
		}

		/**
		*按从上到下的顺序获取所有View
		*@return
		*/
		__proto.getAllViews=function(){
			var views=[];
			var i=0;
			var eventLenght=this.getEventLenght();
			for (;i < eventLenght;i++){
				views.push(this.objs[i].event);
				var j=0;
				var actionLenght=this.getActionLenght(i);
				for(;j<actionLenght;j++){
					views.push(this.objs[i].actions[j].actionObj)
					var k=0;
					var paramLenght=this.getParamLenght(i,j);
					for (;k < paramLenght;k++){
						views.push(this.objs[i].actions[j].param[k]);
					}
				}
			}
			return views;
		}

		__static(CurrentScriptViewContainer,
		['instance',function(){return this.instance=new CurrentScriptViewContainer;}
		]);
		return CurrentScriptViewContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container_GC.CurrentViewContainer
	var CurrentViewContainer=(function(){
		function CurrentViewContainer(){
			this.views={};
		}

		__class(CurrentViewContainer,'laya.ide.plugin.as3plugin.F_data.container_GC.CurrentViewContainer');
		var __proto=CurrentViewContainer.prototype;
		/**
		*
		*@param panelName
		*@param parent
		*@param viewID
		*@param view
		*/
		__proto.addView=function(panelName,parent,viewID,view){
			var panel=this.views[panelName];
			if (!panel){
				panel=new LayaDictionary();
				this.views[panelName]=panel;
			}
			panel.add(viewID,view);
			parent.addChild(view);
			return panel.length-1;
		}

		/**
		*
		*@param panelName
		*@param parent
		*@param insertViewID:在哪个ViewID之后插入
		*@param newViewID：新插入的View的id
		*@param view
		*@return
		*/
		__proto.insertAtOrAddView=function(panelName,parent,positionViewID,insertViewID,insertView){
			if (this.isHavePanel(panelName)){
				parent.addChild(insertView);
				return this.views[panelName].insertAtOrAdd(positionViewID,insertViewID,insertView);
			}
			return this.addView(panelName,parent,insertViewID,insertView);
		}

		/**
		*
		*@param panelName
		*@param parent
		*@param insertViewID:在哪个ViewID之后插入
		*@param newViewID：新插入的View的id
		*@param view
		*@return
		*/
		__proto.insertBackOrAddView=function(panelName,parent,positionViewID,insertViewID,insertView){
			if (this.isHavePanel(panelName)){
				parent.addChild(insertView);
				return this.views[panelName].insertBackOrAdd(positionViewID,insertViewID,insertView);
			}
			return this.addView(panelName,parent,insertViewID,insertView);
		}

		__proto.isHavePanel=function(panelName){
			if (this.views[panelName]){
				return true;
			}
			else {
				LayaPluginsConsole.log("panel不存在："+panelName);
				return false;
			}
		}

		__proto.isHaveView=function(panelName,viewID){
			if (this.isHavePanel(panelName)){
				var value=this.views[panelName].indexOf(viewID);
				if (value < 0){
					LayaPluginsConsole.log("当前panel下的view不存在:"+panelName+":"+viewID);
				}
				return value;
			}
		}

		__proto.getView=function(panelName,viewID){
			if (this.isHaveView(panelName,viewID)>=0){
				return this.views[panelName].get(panelName);
			}
			return null;
		}

		__proto.getViews=function(panelName){
			if (this.isHavePanel(panelName)){
				return this.views[panelName] .values;
			}
			return null;
		}

		__proto.getViewLenght=function(panelName){
			if (this.isHavePanel(panelName)){
				return this.views[panelName].length;
			}
			return-1;
		}

		__proto.getIndex=function(panelName,viewID){
			if (this.isHavePanel(panelName)){
				return this.views[panelName].indexOf(viewID);
			}
			return-1;
		}

		__proto.splice=function(panelName,fromID,toID){}
		__proto.remove=function(panelName,viewID){
			if (this.isHaveView(panelName,viewID)>=0){
				return this.views[panelName].remove(viewID);
			}
		}

		__proto.clearPanel=function(panelName){
			if (this.isHavePanel(panelName)){
				this.views[panelName].clear();
			}
		}

		__proto.clearAll=function(){
			this.views={};
		}

		__static(CurrentViewContainer,
		['instance',function(){return this.instance=new CurrentViewContainer;}
		]);
		return CurrentViewContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container_GC.MakerSystemContainer
	var MakerSystemContainer=(function(){
		function MakerSystemContainer(){
			this.actions=null;
			this.events=null;
			this.eventsMenuName=null;
			this.actionsMenuName=null;
			this.containCreate=null;
			this.containCreate=new MakerSystemInit_GC();
			this.containCreate.containerInit();
			this.events=this.containCreate.initEvent();
			this.actions=this.containCreate.initAction();
			this.eventsMenuName=this.containCreate.initEventMenuName();
			this.actionsMenuName=this.containCreate.initActionMenuName();
		}

		__class(MakerSystemContainer,'laya.ide.plugin.as3plugin.F_data.container_GC.MakerSystemContainer');
		var __proto=MakerSystemContainer.prototype;
		__proto.isHaveEvent=function(name){
			return this.events[name] !=null;
		}

		__proto.isHaveAction=function(name){
			return this.actions[name] !=null;
		}

		/**
		*根据action的键，获取行为
		*@param name
		*/
		__proto.getAction=function(name){
			if (this.isHaveAction(name)){
				return this.actions[name];
			}
			return {};
		}

		/**
		*根据event的键，获取事件
		*@param name
		*/
		__proto.getEvent=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name];
			}
			return {};
		}

		/**
		*名称是否可以修改
		*@param name
		*@return
		*/
		__proto.isNameCanEdit=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name].nameCanEdit;
			}
			return false;
		}

		/**
		*目标是否可以修改
		*@param name
		*@return
		*/
		__proto.isTargetCanEdit=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name].targetCanEdit;
			}
			return false;
		}

		__proto.getTarget=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name].target;
			}
			return null;
		}

		__proto.getEventGroupNames=function(){
			var groupNames=[];
			var i=0;
			var len=this.events.length;
			for (;i < len;i++){
				var value=this.events[i].group;
				var index=groupNames.indexOf(value);
				if (index < 0){
					groupNames.push(value);
				}
			}
			return groupNames;
		}

		/**
		*
		*@param eventKey:传入事件唯一标记的名称，获得该事件以下所有显示的名称和唯一标记名称,获取根事件的话传入root
		*@return：{eventName:***,eventKey:***}
		*/
		__proto.getEventNames=function(groupName){
			var names=[];
			var i=0;
			var len=this.events.length;
			for (;i < len;i++){
				if (this.events[i].group==groupName){
					names.push({"eventName":this.events[i].title,"eventKey":this.events[i].name});
				}
			}
			return names;
		}

		__proto.getEventMenuShow=function(){
			return this.eventsMenuName;
		}

		__proto.getActionMenuShow=function(){
			return this.actionsMenuName;
		}

		__static(MakerSystemContainer,
		['instance',function(){return this.instance=new MakerSystemContainer;}
		]);
		return MakerSystemContainer;
	})()


	//class laya.ide.plugin.as3plugin.F_data.container_GC.PanelName
	var PanelName=(function(){
		function PanelName(){};
		__class(PanelName,'laya.ide.plugin.as3plugin.F_data.container_GC.PanelName');
		PanelName.scriptPanel="Script";
		PanelName.privatePropertyPanel="PrivateProperty";
		PanelName.globalPropertyPanel="GlobalPrivateProperty";
		return PanelName;
	})()


	//class laya.ide.plugin.as3plugin.F_data.controller.ArrayContainerController
	var ArrayContainerController=(function(){
		function ArrayContainerController(){}
		__class(ArrayContainerController,'laya.ide.plugin.as3plugin.F_data.controller.ArrayContainerController');
		var __proto=ArrayContainerController.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController":true})
		__proto.add=function(container,addValue){
			return false;
		}

		__proto.remove=function(container,removeValue){
			return false;
		}

		__proto.change=function(container,oldValue,newValue){
			return false;
		}

		__proto.finder=function(container,findValue){
			return undefined;
		}

		return ArrayContainerController;
	})()


	//class laya.ide.plugin.as3plugin.F_data.controller.ClassTXTContainerController
	var ClassTXTContainerController=(function(){
		function ClassTXTContainerController(){}
		__class(ClassTXTContainerController,'laya.ide.plugin.as3plugin.F_data.controller.ClassTXTContainerController');
		var __proto=ClassTXTContainerController.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController":true})
		__proto.add=function(container,addValue){
			return false;
		}

		__proto.remove=function(container,removeValue){
			return false;
		}

		__proto.change=function(container,oldValue,newValue){
			return false;
		}

		__proto.finder=function(container,findValue){
			var txt=FileManager.readTxtFile(findValue);
			return JSON.parse(txt);
		}

		return ClassTXTContainerController;
	})()


	//class laya.ide.plugin.as3plugin.F_data.controller.DictionaryContainerController
	var DictionaryContainerController=(function(){
		function DictionaryContainerController(){}
		__class(DictionaryContainerController,'laya.ide.plugin.as3plugin.F_data.controller.DictionaryContainerController');
		var __proto=DictionaryContainerController.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController":true})
		__proto.add=function(container,addValue){
			return false;
		}

		__proto.remove=function(container,removeValue){
			return false;
		}

		__proto.change=function(container,oldValue,newValue){
			return false;
		}

		__proto.finder=function(container,findValue){
			return container[findValue];
		}

		return DictionaryContainerController;
	})()


	//class laya.ide.plugin.as3plugin.F_data.controller.GlobalPropertiesContainerController
	var GlobalPropertiesContainerController=(function(){
		function GlobalPropertiesContainerController(){}
		__class(GlobalPropertiesContainerController,'laya.ide.plugin.as3plugin.F_data.controller.GlobalPropertiesContainerController');
		var __proto=GlobalPropertiesContainerController.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController":true})
		__proto.add=function(container,addValue){
			return false;
		}

		__proto.remove=function(container,removeValue){
			return false;
		}

		__proto.change=function(container,oldValue,newValue){
			return false;
		}

		__proto.finder=function(container,findValue){
			return undefined;
		}

		return GlobalPropertiesContainerController;
	})()


	//class laya.ide.plugin.as3plugin.F_data.controller.MakerSystemActionContainerController
	var MakerSystemActionContainerController=(function(){
		function MakerSystemActionContainerController(){}
		__class(MakerSystemActionContainerController,'laya.ide.plugin.as3plugin.F_data.controller.MakerSystemActionContainerController');
		var __proto=MakerSystemActionContainerController.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController":true})
		__proto.add=function(container,addValue){
			return false;
		}

		__proto.remove=function(container,removeValue){
			return false;
		}

		__proto.change=function(container,oldValue,newValue){
			return false;
		}

		__proto.finder=function(container,findValue){
			return undefined;
		}

		return MakerSystemActionContainerController;
	})()


	//class laya.ide.plugin.as3plugin.F_data.controller.MakerSystemEventContainerController
	var MakerSystemEventContainerController=(function(){
		function MakerSystemEventContainerController(){}
		__class(MakerSystemEventContainerController,'laya.ide.plugin.as3plugin.F_data.controller.MakerSystemEventContainerController');
		var __proto=MakerSystemEventContainerController.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController":true})
		__proto.add=function(container,addValue){
			return false;
		}

		__proto.remove=function(container,removeValue){
			return false;
		}

		__proto.change=function(container,oldValue,newValue){
			return false;
		}

		__proto.finder=function(container,findValue){
			return undefined;
		}

		return MakerSystemEventContainerController;
	})()


	//class laya.ide.plugin.as3plugin.F_data.controller.SaveObjectsContainerController
	var SaveObjectsContainerController=(function(){
		function SaveObjectsContainerController(){}
		__class(SaveObjectsContainerController,'laya.ide.plugin.as3plugin.F_data.controller.SaveObjectsContainerController');
		var __proto=SaveObjectsContainerController.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerController":true})
		__proto.add=function(container,addValue){
			return false;
		}

		__proto.remove=function(container,removeValue){
			return false;
		}

		__proto.change=function(container,oldValue,newValue){
			return false;
		}

		__proto.finder=function(container,findValue){
			return undefined;
		}

		return SaveObjectsContainerController;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.ClassTXTContainerCreater
	var ClassTXTContainerCreater=(function(){
		function ClassTXTContainerCreater(){}
		__class(ClassTXTContainerCreater,'laya.ide.plugin.as3plugin.F_data.creater.ClassTXTContainerCreater');
		var __proto=ClassTXTContainerCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		__proto.createContainer=function(){
			return {};
		}

		return ClassTXTContainerCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.ErrorLogicContainerCreater
	var ErrorLogicContainerCreater=(function(){
		function ErrorLogicContainerCreater(){}
		__class(ErrorLogicContainerCreater,'laya.ide.plugin.as3plugin.F_data.creater.ErrorLogicContainerCreater');
		var __proto=ErrorLogicContainerCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		__proto.createContainer=function(){
			return undefined;
		}

		return ErrorLogicContainerCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.EXPLogicContainerCreater
	var EXPLogicContainerCreater=(function(){
		function EXPLogicContainerCreater(){}
		__class(EXPLogicContainerCreater,'laya.ide.plugin.as3plugin.F_data.creater.EXPLogicContainerCreater');
		var __proto=EXPLogicContainerCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		__proto.createContainer=function(){
			return undefined;
		}

		return EXPLogicContainerCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.GlobalPropertiesContainerCreater
	var GlobalPropertiesContainerCreater=(function(){
		function GlobalPropertiesContainerCreater(globalPropertiesPath){
			this.globalPropertiesPath=null;
			this.globalPropertiesPath=globalPropertiesPath;
		}

		__class(GlobalPropertiesContainerCreater,'laya.ide.plugin.as3plugin.F_data.creater.GlobalPropertiesContainerCreater');
		var __proto=GlobalPropertiesContainerCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		__proto.createContainer=function(){
			var array=FileManager.readJSONFile(this.globalPropertiesPath);
			if(!array){
				array=[];
			}
			return array;
		}

		return GlobalPropertiesContainerCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.MakerSystemActionContainerCreater
	var MakerSystemActionContainerCreater=(function(){
		function MakerSystemActionContainerCreater(makerSystemActionPath){
			this.makerSystemActionPath=null;
			this.actionExp=/@action(.*)/;
			this.paramExp=/@param(.*)/;
			this.lineReg=/\r\n|\n/;
			this.makerSystemActionPath=makerSystemActionPath;
		}

		__class(MakerSystemActionContainerCreater,'laya.ide.plugin.as3plugin.F_data.creater.MakerSystemActionContainerCreater');
		var __proto=MakerSystemActionContainerCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		//读取行为文件
		__proto.createContainer=function(){
			var expressByTitle={};
			var expressGroup=new GroupMap();
			var expressLib={};
			var express={"Title":expressByTitle,"Group":expressGroup,"EXP":expressLib};
			var all=[];
			if (FileManager.exists(this.makerSystemActionPath)){
				var txt=FileManager.readTxtFile(this.makerSystemActionPath);
				var arr=txt.split(this.lineReg);
				var i=0;
				var len=arr.length;
				var findAction=true;
				var matchArr;
				var actionjson;
				var paramArr;
				var paramjson;
				for (;i < len;i++){
					var event=arr[i];
					try {
						if (findAction){
							matchArr=this.actionExp.exec(event);
							if (!matchArr)continue ;
							actionjson=JSON.parse(matchArr[1]);
							findAction=false;
							paramArr=[];
						}
						else {
							matchArr=this.paramExp.exec(event);
							if (!matchArr){
								actionjson.param=paramArr;
								all.push(actionjson);
								expressByTitle[actionjson.title]=actionjson.name;
								expressGroup.addItem(actionjson.title,actionjson.group);
								var callExpData=new CallExpData;
								callExpData.read(actionjson);
								expressLib[callExpData.name]=callExpData;
								findAction=true;
								continue ;
							}
							paramjson=JSON.parse(matchArr[1]);
							paramArr.push(paramjson);
						}
					}
					catch (e){
						console.log('解析action失败!');
						findAction=true;
					}
				}
				FileManager.createJSONFile(IDEAPIS.workPath+'\\laya\\eventcfg\\MakerSystemAction.json',all);
				return express;
			}
			return null;
		}

		return MakerSystemActionContainerCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.MakerSystemActionContainerJsonCreater
	var MakerSystemActionContainerJsonCreater=(function(){
		function MakerSystemActionContainerJsonCreater(makerSystemActionPath){
			this.makerSystemActionPath=null;
			this.makerSystemActionPath=makerSystemActionPath;
		}

		__class(MakerSystemActionContainerJsonCreater,'laya.ide.plugin.as3plugin.F_data.creater.MakerSystemActionContainerJsonCreater');
		var __proto=MakerSystemActionContainerJsonCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		__proto.createContainer=function(){
			return this.analysisJson();
		}

		__proto.readJson=function(){
			if (FileManager.exists(this.makerSystemActionPath)){
				return FileManager.readJSONFile(this.makerSystemActionPath);
			}
			else {
				return null;
			}
		}

		__proto.analysisJson=function(){
			var expressByTitle={};
			var expressGroup=new GroupMap();
			var expressLib={};
			var express={"Title":expressByTitle,"Group":expressGroup,"EXP":expressLib};
			var json=this.readJson();
			if (!json){
				return null;
			};
			var i=0;
			var len=json.expressions.length;
			for (;i < len;i++){
				var actionjson=json.expressions[i];
				expressByTitle[actionjson.title]=actionjson.name;
				expressGroup.addItem(actionjson.title,actionjson.group);
				var callExpData=new CallExpData;
				callExpData.read(actionjson);
				expressLib[callExpData.name]=callExpData;
			}
			return express;
		}

		return MakerSystemActionContainerJsonCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.MakerSystemEventContainerCreater
	var MakerSystemEventContainerCreater=(function(){
		function MakerSystemEventContainerCreater(makerSystemEventPath){
			this.makerSystemEventPath=null;
			this.eventExp=/@event(.*)[\r|\n]/g;
			this.makerSystemEventPath=makerSystemEventPath;
		}

		__class(MakerSystemEventContainerCreater,'laya.ide.plugin.as3plugin.F_data.creater.MakerSystemEventContainerCreater');
		var __proto=MakerSystemEventContainerCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		//读取并解析事件文件
		__proto.createContainer=function(){
			var eventsByTitle={};
			var eventArr=[];
			var eventLib={};
			var events={"Title":eventsByTitle,"Arr":eventArr,"EXP":eventLib};
			var all=[];
			if (FileManager.exists(this.makerSystemEventPath)){
				var txt=FileManager.readTxtFile(this.makerSystemEventPath);
				if (!txt)return null;
				var arr=txt.match(this.eventExp);
				if (!arr)return null;
				var i=0;
				var len=arr.length;
				for (;i < len;i++){
					var event=arr[i];
					event=event.replace('@event','');
					try {
						var eventJson=JSON.parse(event);
						all.push(eventJson);
						eventArr.push(eventJson);
						eventsByTitle[eventJson.title]=eventJson.name;
						var callExpData=new FunctionExpData;
						callExpData.read(eventJson);
						eventLib[eventJson.name]=callExpData;
					}
					catch (e){
						console.log('解析event失败!');
					}
				}
				FileManager.createJSONFile(IDEAPIS.workPath+'\\laya\\eventcfg\\MakerSystemEvent.json',all);
				return events;
			}
			return null;
		}

		return MakerSystemEventContainerCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.MakerSystemEventContainerJsonCreater
	var MakerSystemEventContainerJsonCreater=(function(){
		function MakerSystemEventContainerJsonCreater(makerSystemEventPath){
			this.makerSystemEventPath=null;
			this.makerSystemEventPath=makerSystemEventPath;
		}

		__class(MakerSystemEventContainerJsonCreater,'laya.ide.plugin.as3plugin.F_data.creater.MakerSystemEventContainerJsonCreater');
		var __proto=MakerSystemEventContainerJsonCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		__proto.createContainer=function(){
			return this.analysisJson();
		}

		__proto.readJson=function(){
			if (FileManager.exists(this.makerSystemEventPath)){
				return FileManager.readJSONFile(this.makerSystemEventPath);
			}
			else {
				return null;
			}
		}

		__proto.analysisJson=function(){
			var eventsByTitle={};
			var eventArr=[];
			var eventLib={};
			var events={"Title":eventsByTitle,"Arr":eventArr,"EXP":eventLib};
			var json=this.readJson();
			if (!json){
				return null;
			};
			var i=0;
			var len=json.events.length;
			for (;i < len;i++){
				var actionjson=json.events[i];
				eventArr.push(actionjson);
				eventsByTitle[actionjson.title]=actionjson.name;
				var callExpData=new FunctionExpData;
				callExpData.read(actionjson);
				eventLib[actionjson.name]=callExpData;
			}
			return events;
		}

		return MakerSystemEventContainerJsonCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater.SaveObjectsContainerCreater
	var SaveObjectsContainerCreater=(function(){
		function SaveObjectsContainerCreater(saveObjectsPath){
			this.saveObjectsPath=null;
			this.saveObjectsPath=saveObjectsPath;
		}

		__class(SaveObjectsContainerCreater,'laya.ide.plugin.as3plugin.F_data.creater.SaveObjectsContainerCreater');
		var __proto=SaveObjectsContainerCreater.prototype;
		Laya.imps(__proto,{"laya.ide.plugin.as3plugin.A_framwork.F_dataFramwork.IContainerCreater":true})
		__proto.createContainer=function(){
			var array=FileManager.readJSONFile(this.saveObjectsPath);
			if(!array){
				array=[];
			}
			return array;
		}

		return SaveObjectsContainerCreater;
	})()


	//class laya.ide.plugin.as3plugin.F_data.creater_GC.MakerSystemInit_GC
	var MakerSystemInit_GC$1=(function(){
		function MakerSystemInit_GC(){
			this.value={
				"expressions":
				[{
					"title":"赋值属性",
					"group":"属性",
					"name":"setProperty",
					"code":"{0}={1}",
					"param":
					[{
						"title":"name",
						"type":"any",
						"auto":null,
						"desc":"xxx"
						},{
						"title":"value",
						"type":"any",
						"auto":null,
						"desc":"xxx"
					}]
				}],
				"events":
				[{
					"title":"鼠标点击",
					"group":"input",
					"name":"click",
					"target":"this.owner",
					"nameCanEdit":false,
					"targetCanEdit":true,
					"param":["from","isGroup"]
				},]
			};
		}

		__class(MakerSystemInit_GC,'laya.ide.plugin.as3plugin.F_data.creater_GC.MakerSystemInit_GC',null,'MakerSystemInit_GC$1');
		var __proto=MakerSystemInit_GC.prototype;
		/**
		*容器初始化器
		*/
		__proto.containerInit=function(){
			if (FileManager.exists(this.makerSystemPath())){
				this.value=FileManager.readJSONFile(this.makerSystemPath());
			}
			else {
				this.value={};
			}
		}

		/**
		*初始化事件字典
		*@return
		*/
		__proto.initEvent=function(){
			var dic={};
			if (this.value.events){
				var i=0;
				var len=this.value.events.length;
				for (;i < len;i++){
					var obj=this.value.events[i];
					if (dic[obj.name]){
						LayaPluginsConsole.log("events的键存在重复："+obj.name);
					}
					else {
						dic[obj.name]=obj;
					}
				}
			}
			return dic;
		}

		/**
		*初始化行为字典
		*@return
		*/
		__proto.initAction=function(){
			var dic={};
			if (this.value.expressions){
				var i=0;
				var len=this.value.expressions.length;
				for (;i < len;i++){
					var obj=this.value.expressions[i];
					if (dic[obj.name]){
						LayaPluginsConsole.log("expressions的键存在重复："+obj.name);
					}
					else {
						dic[obj.name]=obj;
					}
				}
			}
			return dic;
		}

		__proto.makerSystemPath=function(){
			return IDEAPIS.workPath+'\\laya\\eventcfg\\MakerSystem.json';
		}

		return MakerSystemInit_GC;
	})()


	//class laya.ide.plugin.as3plugin.F_data.valueGlobal.GlobalValue
	var GlobalValue=(function(){
		function GlobalValue(){}
		__class(GlobalValue,'laya.ide.plugin.as3plugin.F_data.valueGlobal.GlobalValue');
		GlobalValue.getlist=function(value){
			return MakerSystemEventContainer.eventsByTitle.objects;
		}

		GlobalValue.getEXPLogic=function(name){
			return EXPLogicContainer.getEXPLogic(name);
		}

		GlobalValue.error=function(name){
			return ErrorLogicContainer.getErrorLogic(name);
		}

		return GlobalValue;
	})()


	//class laya.ide.plugin.as3plugin.G_EXP.BaseExp
	var BaseExp=(function(){
		function BaseExp(){
			this._expressLib=null;
			this._eventLib=null;
		}

		__class(BaseExp,'laya.ide.plugin.as3plugin.G_EXP.BaseExp');
		var __proto=BaseExp.prototype;
		__proto.initData=function(expressLib,eventLib){
			this._expressLib=expressLib;
			this._eventLib=eventLib;
		}

		__proto.read=function(data){}
		__proto.toJson=function(result){
			return null;
		}

		__proto.toCode=function(results){}
		__proto.toString=function(){
			return '';
		}

		__proto.recovery=function(){
			this._expressLib=null;
			this._eventLib=null;
		}

		__getset(0,__proto,'type',function(){
			throw 'override this';
		});

		return BaseExp;
	})()


	//class laya.ide.plugin.as3plugin.G_EXP.CallExpData
	var CallExpData=(function(){
		function CallExpData(){
			this.name=null;
			this.title=null;
			this.group=null;
			this.des=null;
			this.code=null;
			this.param=null;
			this.isBrace=false;
			this.returnType=null;
			this.slotType=null;
			this._desFormat=null;
			this.isSlot=false;
			this.isLine=false;
			this.codes=null;
		}

		__class(CallExpData,'laya.ide.plugin.as3plugin.G_EXP.CallExpData');
		var __proto=CallExpData.prototype;
		__proto.read=function(data){
			for(var key in data){
				this[key]=data[key];
			}
			if(this.slotType){
				var arr=this.slotType.split(',');
				this.isSlot=arr.indexOf('slot')>=0;
				this.isLine=arr.indexOf('line')>=0;
			}
			if(this.code){
				this.codes=this.code.split('\n');
			}
		}

		__getset(0,__proto,'desFormat',function(){
			if(!this._desFormat){
				this._desFormat=new StationFormat;
				this._desFormat.parse(this.des);
			}
			return this._desFormat;
		});

		return CallExpData;
	})()


	//class laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory
	var ExpressionFactory=(function(){
		function ExpressionFactory(){}
		__class(ExpressionFactory,'laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory');
		ExpressionFactory.registerExp=function(type,cla){
			ExpressionFactory.expLib[type]=cla;
		}

		ExpressionFactory.initData=function(exp){
			exp.initData(MakerSystemActionContainer.expressLib.objects,MakerSystemEventContainer.eventLib.objects);
		}

		ExpressionFactory.createExpressionByType=function(type){
			var cla=ExpressionFactory.expLib[type]||CodeExp;
			var obj=new cla;
			ExpressionFactory.initData(obj);
			return obj;
		}

		ExpressionFactory.createExpression=function(data){
			var cla=ExpressionFactory.expLib[data.type]||CodeExp;
			var obj=new cla;
			ExpressionFactory.initData(obj);
			obj.read(data);
			return obj;
		}

		ExpressionFactory.createClass=function(name){
			(name===void 0)&& (name='');
			var cla=new ClassExp;
			ExpressionFactory.initData(cla);
			cla.auto(name||ClassTXTContainer.createClassTXTName());
			return cla;
		}

		ExpressionFactory.init=function(){
			ExpressionFactory.registerExp('call',CallExp);
			ExpressionFactory.registerExp('callbody',CallBodyExp);
			ExpressionFactory.registerExp('class',ClassExp);
			ExpressionFactory.registerExp('code',CodeExp);
			ExpressionFactory.registerExp('body',BodyExp);
			ExpressionFactory.registerExp('string',StringExp);
			ExpressionFactory.registerExp('number',NumberExp);
			ExpressionFactory.registerExp('bool',BooleanExp);
			ExpressionFactory.registerExp('object',ObjectExp);
			ExpressionFactory.registerExp('function',FunctionExp);
			ExpressionFactory.registerExp('var',VarExp);
		}

		ExpressionFactory.checkIsCode=function(type){
			return ExpressionFactory.codeTypes[type];
		}

		ExpressionFactory.checkIsRes=function(type){
			return ExpressionFactory.resTypes[type];
		}

		ExpressionFactory.Init='init';
		ExpressionFactory.Dispose='dispose';
		ExpressionFactory.Extension_Code='txt';
		ExpressionFactory.Extension_Json='lmscript';
		ExpressionFactory.Type_Call='call';
		ExpressionFactory.Type_Callbody='callbody';
		ExpressionFactory.Type_Class='class';
		ExpressionFactory.Type_Code='code';
		ExpressionFactory.Type_Body='body';
		ExpressionFactory.Type_String='string';
		ExpressionFactory.Type_Object='object';
		ExpressionFactory.Type_Number='number';
		ExpressionFactory.Type_Bool='bool';
		ExpressionFactory.Type_Function='function';
		ExpressionFactory.Type_Var='var';
		ExpressionFactory.expLib={};
		__static(ExpressionFactory,
		['resTypes',function(){return this.resTypes={res:true};},'codeTypes',function(){return this.codeTypes={code:true,number:true,bool:true};}
		]);
		ExpressionFactory.__init$=function(){
			ExpressionFactory.init();
		}

		return ExpressionFactory;
	})()


	//class laya.ide.plugin.as3plugin.G_EXP.Parser
	var Parser=(function(){
		function Parser(){};
		__class(Parser,'laya.ide.plugin.as3plugin.G_EXP.Parser');
		Parser.T=function(num){
			if(num==0)return '';
			return Parser.ttt.substr(0,num);
		}

		Parser.init=function(){
			for(var i=0;i<50;i++){
				Parser.ttt+='\t';
			}
		}

		Parser.toCode=function(classExp){
			var results=[];
			classExp.toCode(results);
			var str='';
			var level=0;
			for(var i=0,len=results.length;i<len;i++){
				if(results[i]=='}'){
					level--;
				}
				str+=Parser.T(level)+results[i]+'\n';
				if(results[i]=='{'){
					level++;
				}
			}
			return str;
		}

		Parser.ttt='';
		Parser.__init$=function(){
			Parser.init();
		}

		return Parser;
	})()


	//class laya.ide.plugin.as3plugin.G_EXP.StationFormat
	var StationFormat=(function(){
		function StationFormat(){
			this.items=new Array;
		}

		__class(StationFormat,'laya.ide.plugin.as3plugin.G_EXP.StationFormat');
		var __proto=StationFormat.prototype;
		__proto.parse=function(des){
			var array=des.match(StationFormat.splitReg);
			var i=0;
			var len=array.length;
			for(;i<len;i++){
				this.items.push(this.parseItem(array[i]));
			}
		}

		__proto.parseItem=function(item){
			if(item.charAt(0)=='{'){
				item=item.substring(1,item.length-1);
				return new StationFormatItem('slot',parseFloat(item));
			}
			else{
				return new StationFormatItem('label',item);
			}
		}

		StationFormat.Type_Label='label';
		StationFormat.Type_Slot='slot';
		__static(StationFormat,
		['splitReg',function(){return this.splitReg=new RegExp("{(.*?)}|[^{}]+",'g');}
		]);
		return StationFormat;
	})()


	//class laya.ide.plugin.as3plugin.G_EXP.StationFormatItem
	var StationFormatItem=(function(){
		function StationFormatItem(type,value){
			this.type=null;
			this.value=null;
			this.type=type;
			this.value=value;
		}

		__class(StationFormatItem,'laya.ide.plugin.as3plugin.G_EXP.StationFormatItem');
		return StationFormatItem;
	})()


	//class laya.ide.plugin.as3plugin.view.ScriptPrefabSetView
	var ScriptPrefabSetView=(function(){
		function ScriptPrefabSetView(){
			this.callback=null;
			;
		}

		__class(ScriptPrefabSetView,'laya.ide.plugin.as3plugin.view.ScriptPrefabSetView');
		var __proto=ScriptPrefabSetView.prototype;
		__proto.showByData=function(prefabData,callback){
			/*no*/this.popup();
			this.callback=callback;
			var arr=/*no*/this.MinScriptSystem.instance.scriptArr.concat();
			if(prefabData){
				var index=arr.indexOf(prefabData);
				if(index>=0){
					arr.splice(index,1);
				}
				arr.unshift(prefabData);
			}
			/*no*/this.scriptList.array=arr;
			/*no*/this.scriptList.selectedIndex=0;
		}

		__proto.close=function(type){
			_super.prototype.close(type);
			var result=/*no*/this.scriptList.selectedItem;
			this.callback(result?result.name:null);
		}

		__static(ScriptPrefabSetView,
		['instance',function(){return this.instance=new ScriptPrefabSetView;}
		]);
		return ScriptPrefabSetView;
	})()


	//class laya.ide.plugin.framework.blackBox.AbstractStep
	var AbstractStep$1=(function(){
		function AbstractStep(){}
		__class(AbstractStep,'laya.ide.plugin.framework.blackBox.AbstractStep',null,'AbstractStep$1');
		var __proto=AbstractStep.prototype;
		/**
		*执行(需要在实体类中重写)
		*@return 异常信息,如果没有异常,则为null或者undefind
		*/
		__proto._execute=function(){}
		/**
		*正常结束:执行正常结束和撤销正常结束后都会执行(需要在实体类中重写)
		*/
		__proto._normalEnd=function(){}
		/**
		*异常结束:执行异常结束和撤销异常结束后都会执行(需要在实体类中重写)
		*/
		__proto._unnormalEnd=function(computationalResults){}
		/**
		*结束:执行结束和撤销结束后都会执行(需要在实体类中重写)
		*/
		__proto._end=function(computationalResults){}
		/**
		*撤销(需要在实体类中重写)
		*/
		__proto._revocation=function(){}
		/**
		*恢复
		*@return
		*/
		__proto._recover=function(){}
		/**
		*重复执行
		*@return
		*/
		__proto._repeat=function(){}
		/**
		*执行
		*@return
		*/
		__proto.execute=function(){
			var isWrong=this._execute();
			if (!isWrong){
				this.normalEnd();
			}
			else {
				this.unnormalEnd(isWrong);
			}
			this.end(isWrong);
			return isWrong;
		}

		/**
		*正常结束
		*/
		__proto.normalEnd=function(){
			this._normalEnd();
		}

		/**
		*异常结束
		*/
		__proto.unnormalEnd=function(computationalResults){
			this._unnormalEnd(computationalResults);
		}

		/**
		*结束
		*/
		__proto.end=function(computationalResults){
			this._end(computationalResults);
		}

		/**
		*撤销
		*/
		__proto.revocation=function(){
			this._revocation();
		}

		/**
		*恢复
		*@return
		*/
		__proto.recover=function(){
			return this._recover();
		}

		/**
		*重新执行该步骤
		*@return
		*/
		__proto.repeat=function(){
			return this._repeat();
		}

		return AbstractStep;
	})()


	//class laya.ide.plugin.framework.blackBox.BlackBox
	var BlackBox$1=(function(){
		function BlackBox(){
			this.stepPointer=-1;
			this.steps=[];
		}

		__class(BlackBox,'laya.ide.plugin.framework.blackBox.BlackBox',null,'BlackBox$1');
		var __proto=BlackBox.prototype;
		/**
		*执行
		*/
		__proto.execute=function(step){
			this.steps.length=this.stepPointer+1;
			this.stepPointer=ArrayCell.QueueMaxValue(150,step,this.steps)-1;
			step.execute();
		}

		/**
		*撤销最后一步
		*/
		__proto.revocation=function(){
			if (this.stepPointer >=this.steps.length || this.stepPointer < 0 || this.steps.length==0){
				return false;
			};
			var currentStep=this.steps [this.stepPointer];
			currentStep.revocation();
			this.stepPointer-=1;
			return true;
		}

		/**
		*恢复下一步
		*/
		__proto.recover=function(){
			if (this.stepPointer+1 >=this.steps.length){
				return false;
			}
			this.stepPointer+=1;
			var currentStep=this.steps [this.stepPointer];
			currentStep.recover();
			return true;
		}

		/**
		*重复该步骤
		*/
		__proto.repeat=function(){
			if (this.stepPointer >=this.steps.length || this.stepPointer < 0){
				return false;
			};
			var currentStep=this.steps [this.stepPointer];
			currentStep.repeat();
			return true;
		}

		/**
		*清空所有步骤
		*/
		__proto.clear=function(){
			this.steps=[];
			this.stepPointer=-1;
		}

		/**
		*将当前步骤以前的所有步骤清空
		*/
		__proto.clearFront=function(){
			this.steps.splice(0,this.stepPointer+1);
			this.stepPointer=-1;
		}

		__getset(1,BlackBox,'instance',function(){
			if (!BlackBox._instance)BlackBox._instance=new BlackBox();
			return BlackBox._instance;
		});

		BlackBox._instance=null
		return BlackBox;
	})()


	//class laya.ide.plugin.framework.functionCell.dataStructure.ArrayCell
	var ArrayCell=(function(){
		function ArrayCell(){};
		__class(ArrayCell,'laya.ide.plugin.framework.functionCell.dataStructure.ArrayCell');
		ArrayCell.QueueMaxValue=function(max,pushObj,arr){
			if (arr.length < max){
				arr.push(pushObj);
			}
			else {
				arr.splice(0,1);
				arr.push(pushObj);
			}
			return arr.length;
		}

		return ArrayCell;
	})()


	//class laya.ide.plugin.framework.functionCell.dataStructure.LayaDictionary
	var LayaDictionary$1=(function(){
		function LayaDictionary(){
			this._values=[];
			this._keys=[];
		}

		__class(LayaDictionary,'laya.ide.plugin.framework.functionCell.dataStructure.LayaDictionary',null,'LayaDictionary$1');
		var __proto=LayaDictionary.prototype;
		/**
		*给指定的键名设置值。
		*@param key 键名。
		*@param value 值。
		*/
		__proto.add=function(key,value){
			var index=this.indexOf(key);
			if (index >=0){
				this._values[index]=value;
				return;
			}
			this._keys.push(key);
			this._values.push(value);
		}

		/**
		*获取指定对象的键名索引。
		*@param key 键名对象。
		*@return 键名索引。
		*/
		__proto.indexOf=function(key){
			var index=this._keys.indexOf(key);
			if (index >=0)return index;
			key=((typeof key=='string'))? Number(key):(((typeof key=='number'))? key.toString():key);
			return this._keys.indexOf(key);
		}

		/**
		*返回指定键名的值。
		*@param key 键名对象。
		*@return 指定键名的值。
		*/
		__proto.get=function(key){
			var index=this.indexOf(key);
			return index < 0 ? null :this._values[index];
		}

		__proto.insertAtOrAdd=function(positionKey,insertKey,insertValue){
			var index=this.indexOf(positionKey);
			if (index >=0){
				this._keys.splice(index,0,insertKey);
				this._values.splice(index,0,insertValue);
				return positionKey;
			}
			else {
				this._keys.push(insertKey);
				this._values.push(insertValue);
				return this._keys.length-1
			}
		}

		/**
		*在指定键后面添加新的键值（如果不存在，则在最后添加新键值）
		*@param positionKey：指定键
		*@param insertKey：要添加的新键
		*@param insertValue：要添加的新值
		*@return 返回添加的位置
		*/
		__proto.insertBackOrAdd=function(positionKey,insertKey,insertValue){
			var index=this.indexOf(positionKey);
			if (index >=0){
				this._keys.splice(index+1,0,insertKey);
				this._values.splice(index+1,0,insertValue);
				return positionKey;
			}
			else {
				this._keys.push(insertKey);
				this._values.push(insertValue);
				return this._keys.length-1
			}
		}

		/**
		*移除指定键名的值。
		*@param key 键名对象。
		*@return 是否成功移除。
		*/
		__proto.remove=function(key){
			var index=this.indexOf(key);
			if (index >=0){
				var value=this._values[index];
				this._keys.splice(index,1);
				this._values.splice(index,1);
				return value;
			}
			return null;
		}

		/**
		*获取不含头尾的区间
		*@param starKey
		*@param endKey
		*@return
		*/
		__proto.sliceWithoutHeadAndTail=function(starKey,endKey){
			var starIndex=this.indexOf(starKey);
			var endIndex=this.indexOf(endKey);
			var arr=[];
			if (starIndex >=0 && endIndex-1 >=starIndex+1){
				arr=this._values.slice(starIndex+1,endIndex-1);
			}
			return arr;
		}

		/**
		*获取起始点到最后的所有元素，不含起始点
		*@param starKey
		*@return
		*/
		__proto.sliceToEndWithoutHead=function(starKey){
			var starIndex=this.indexOf(starKey);
			var arr=[];
			if (starIndex >=0){
				arr=this._values.slice(starIndex+1);
			}
			return arr;
		}

		/**
		*清除不含头尾的区间
		*@param starKey
		*@param endKey
		*@return
		*/
		__proto.spliceWithoutHeadAndTail=function(starKey,endKey){
			var starIndex=this.indexOf(starKey);
			var endIndex=this.indexOf(endKey);
			var arr=[];
			if (starIndex >=0 && endIndex-1 >=starIndex+1){
				this._keys.splice(starIndex+1,endIndex-1);
				arr=this._values.splice(starIndex+1,endIndex-1);
			}
			return arr;
		}

		/**
		*删除从起始点开始到最后的所有元素，不含起始点
		*@param starKey
		*@return
		*/
		__proto.spliceToEndWithoutHead=function(starKey){
			var starIndex=this.indexOf(starKey);
			var arr=[];
			if (starIndex >=0){
				this._keys.splice(starIndex+1);
				arr=this._values.splice(starIndex+1);
			}
			return arr;
		}

		/**
		*清除此对象的键名列表和键值列表。
		*/
		__proto.clear=function(){
			this._values=[];
			this._keys=[];
		}

		/**
		*释放所有对象，即使有其他对象引用他们，也释放
		*/
		__proto.release=function(){
			this._values.length=0;
			this._keys.length=0;
		}

		/**
		*获取所有的子元素列表。
		*/
		__getset(0,__proto,'values',function(){
			return this._values;
			},function(value){
			this._values=value;
		});

		/**
		*获取字典的长度
		*/
		__getset(0,__proto,'length',function(){
			return this._keys.length;
		});

		/**
		*获取所有的子元素键名列表。
		*/
		__getset(0,__proto,'keys',function(){
			return this._keys;
			},function(value){
			this._keys=value;
		});

		return LayaDictionary;
	})()


	//class laya.ide.plugin.framework.functionCell.IDCreate.UniqueIDCreater
	var UniqueIDCreater=(function(){
		function UniqueIDCreater(){};
		__class(UniqueIDCreater,'laya.ide.plugin.framework.functionCell.IDCreate.UniqueIDCreater');
		UniqueIDCreater.createID=function(){
			var guid="";
			for (var i=1;i <=32;i++){
				var n=Math.floor(Math.random()*16.0).toString(16);
				guid+=n;
			}
			return guid;
		}

		return UniqueIDCreater;
	})()


	//class laya.ide.plugin.framework.functionCell.layout.LayoutCell
	var LayoutCell$1=(function(){
		function LayoutCell(){};
		__class(LayoutCell,'laya.ide.plugin.framework.functionCell.layout.LayoutCell',null,'LayoutCell$1');
		LayoutCell.refreshPanel=function(panel,panelVScall,panelHScall){
			panel.refresh();
			Laya.timer.callLater(null,function(){
				panel.changeScroll();
				if (panel.vScrollBar){
					panel.vScrollBar.value=panelVScall;
				}
				if (panel.hScrollBar){
					panel.hScrollBar.value=panelHScall;
				}
			});
		}

		LayoutCell.HLayout=function(startPosition,space,views){
			var currentPosition=startPosition;
			for (var i=0;i < views.length;i++){
				views[i].x=currentPosition;
				currentPosition+=views[i].width+space;
			}
		}

		LayoutCell.LayoutPanelWithVBox=function(parent,views){
			if (!views){
				return
			}
			parent.removeChildren();
			var box=new VBox();
			box.space=2;
			parent.addChild(box);
			for (var i=0;i < views.length;i++){
				views[i].view.y=i;
				views[i].view.x=20 *views[i].layer;
				box.addChild(views[i].view);
			}
			LayoutCell.refreshPanel(parent,parent.vScrollBar.value,parent.hScrollBar.value);
		}

		return LayoutCell;
	})()


	//class laya.ide.plugin.framework.functionCell.layout.LayoutData
	var LayoutData=(function(){
		function LayoutData(id,view,layer,type){
			this.id=null;
			this.view=null;
			this.layer=NaN;
			this.type=null;
			this.id=id;
			this.view=view;
			this.layer=layer;
			this.type=type;
		}

		__class(LayoutData,'laya.ide.plugin.framework.functionCell.layout.LayoutData');
		return LayoutData;
	})()


	//class laya.ide.plugin.framework.functionCell.plugin.LayaPluginsConsoleCell
	var LayaPluginsConsoleCell=(function(){
		function LayaPluginsConsoleCell(){};
		__class(LayaPluginsConsoleCell,'laya.ide.plugin.framework.functionCell.plugin.LayaPluginsConsoleCell');
		LayaPluginsConsoleCell.log=function(content){
			console.log(content);
		}

		LayaPluginsConsoleCell.error=function(content){}
		LayaPluginsConsoleCell.warn=function(content){}
		return LayaPluginsConsoleCell;
	})()


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.menu.GroupMap
	var GroupMap$1=(function(){
		function GroupMap(){
			this.groups=[];
			this.groupLib={};
		}

		__class(GroupMap,'laya.ide.plugin.newScript.D_view.B_MaterialView.menu.GroupMap',null,'GroupMap$1');
		var __proto=GroupMap.prototype;
		__proto.clear=function(){
			this.groupLib={};
			this.groups.length=0;
		}

		__proto.addItem=function(name,group,other){
			(group===void 0)&& (group='');
			(other===void 0)&& (other='');
			if(group){
				var arr=this.groupLib[group];
				if(!arr){
					this.groupLib[group]=arr={name:group,hasChild:true,children:[]};
					this.groups.push(arr);
				}
				arr.children.push({name:name,other:other});
			}
			else{
				this.groups.push({name:name,other:other,hasChild:false});
			}
		}

		__proto.getGroup=function(){
			return this.groups;
		}

		return GroupMap;
	})()


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.menu.JSMenu
	var JSMenu=(function(){
		function JSMenu(arr,clickFunction){
			this.menu=null;
			this.menu=this.createCodeMenu(arr,clickFunction);
		}

		__class(JSMenu,'laya.ide.plugin.newScript.D_view.B_MaterialView.menu.JSMenu');
		var __proto=JSMenu.prototype;
		/**
		*显示菜单
		*/
		__proto.show=function(){
			this.menu.popup();
		}

		/**
		*创建下拉菜单对象
		*@return
		*/
		__proto.createCodeMenu=function(arr,clickFunction){
			/*__JS__ */const remote=require("electron").remote;;
			/*__JS__ */const Menu=remote.Menu;;
			/*__JS__ */const MenuItem=remote.MenuItem;
			var MenuClass;
			/*__JS__ */MenuClass=Menu;
			var MenuItemClass;
			/*__JS__ */MenuItemClass=MenuItem;
			var mainMenu=new MenuClass({label:"Test"});
			var dic=this.dataAdapter(arr);
			for (var i=0,len=dic.length;i < len;i++){
				var subMenu=new MenuClass({label:dic.keys[i]});
				var subMenuItem=new MenuItemClass({label:dic.keys[i],submenu:subMenu});
				for (var j=0,jlen=dic.values[i].length;j < jlen;j++){
					subMenu.append(new MenuItemClass({
						label:dic.values[i][j].title,id:dic.values[i][j].key,click:function (item){
							clickFunction(item.id);
						}
					}))
				}
				mainMenu.append(subMenuItem);
			}
			return mainMenu;
		}

		__proto.dataAdapter=function(arr){
			var dic=new LayaDictionary$1();
			for (var i=0,len=arr.length;i < len;i++){
				if (dic.indexOf(arr[i].group)==-1){
					dic.add(arr[i].group,[{"title":arr[i].title,"key":arr[i].name}]);
				}
				else {
					dic.get(arr[i].group).push({"title":arr[i].title,"key":arr[i].name});
				}
			}
			return dic;
		}

		return JSMenu;
	})()


	//class laya.ide.plugin.newScript.EXPAdapter
	var EXPAdapter=(function(){
		function EXPAdapter(){}
		__class(EXPAdapter,'laya.ide.plugin.newScript.EXPAdapter');
		EXPAdapter.initDbgBridge=function(webView){
			var window=Browser.window;
			if(window.dbgBridge)return;
			var browser=webView.getWebContents();
			window.dbgBridge=browser.debugger;
			var d=window.dbgBridge=new window.DbgBridge(window.dbgBridge);
			d.onPause=function (file,line){
				d.resume();
				console.log('----pause:',file,line);
			};
			d.onSetBPOK=function (file,line){
				console.log('----setBPOK:',file,line);
			};
			for (var file in EXPAdapter.PointsMap){
				var points=EXPAdapter.PointsMap[file];
				for (var i=0;i < points.length;i++){
					EXPAdapter.addPoint(file,points[i]);
				}
			}
		}

		EXPAdapter.init=function(){
			Notice.listen("WebViewReady",EXPAdapter,EXPAdapter.initDbgBridge);
		}

		EXPAdapter.tojson=function(json){
			var js;
			var cla=ExpressionFactory$1.createExpressionByType(/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Class*/'class');
			ExpressionFactory$1.initData(cla);
			cla.read(json,null);
			var js=Parser$1.toCode(cla,null,null);
			return js;
		}

		EXPAdapter.save=function(json){
			var js=EXPAdapter.tojson(json);
			var currentClassName=json.name;
			FileManager.createTxtFile(IDEAPIS.workPath+"/"+json.TXTRelativePath,js);
			return js;
		}

		EXPAdapter.addPoint=function(file,line){
			if (Browser.window.dbgBridge){
				console.log(">>>>>>>>>>>>>>>>>>>>>>"+file+"line:"+line);
				Browser.window.dbgBridge.addBP(file,line);
			}
		}

		EXPAdapter.removeBP=function(bpid){
			if (Browser.window.dbgBridge){
				Browser.window.dbgBridge.removeBP(bpid);
			}
		}

		EXPAdapter.resume=function(){
			if (Browser.window.dbgBridge){
				Browser.window.dbgBridge.resume();
			}
		}

		EXPAdapter.stepOver=function(){
			if (Browser.window.dbgBridge){
				Browser.window.dbgBridge.stepOver();
			}
		}

		EXPAdapter.stepInto=function(){
			if (Browser.window.dbgBridge){
				Browser.window.dbgBridge.stepInto();
			}
		}

		EXPAdapter.stepOut=function(){
			if (Browser.window.dbgBridge){
				Browser.window.dbgBridge.stepOut();
			}
		}

		EXPAdapter.activeAllBp=function(){
			if (Browser.window.dbgBridge){
				Browser.window.dbgBridge.activeAllBp();
			}
		}

		EXPAdapter.disableAllBp=function(){
			if (Browser.window.dbgBridge){
				Browser.window.dbgBridge.disableAllBp();
			}
		}

		__static(EXPAdapter,
		['PointsMap',function(){return this.PointsMap={
				"Class1539311151377.txt":[17,18]
		};}

		]);
		return EXPAdapter;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.AdaptiveTextCell
	var AdaptiveTextCell=(function(){
		function AdaptiveTextCell(){};
		__class(AdaptiveTextCell,'laya.ide.plugin.newScript.E_function.cell.AdaptiveTextCell');
		AdaptiveTextCell.AdaptiveTextText=function(minimumValue,label){
			label.typeset();
			if(label.textWidth>=minimumValue){
				label.width=label.textWidth;
			}
			else{
				label.width=minimumValue;
			}
			return label.width;
		}

		AdaptiveTextCell.AdaptiveTextInputText=function(textInput){
			textInput.textField.typeset();
			if(textInput.textField.textWidth>=50){
				textInput.width=textInput.textField.textWidth;
			}
			else{
				textInput.width=50;
			}
			return textInput.width;
		}

		AdaptiveTextCell.AdaptiveButtonText=function(btn){
			btn.text.typeset();
			console.log("****************",btn.text.textWidth);
			if(btn.text.textWidth>=50){
				btn.width=btn.text.textWidth;
			}
			else{
				btn.width=50;
			}
			return btn.width;
		}

		return AdaptiveTextCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.FindCell
	var FindCell=(function(){
		function FindCell(){};
		__class(FindCell,'laya.ide.plugin.newScript.E_function.cell.FindCell');
		FindCell.RecursionTreeIDAndChildren=function(children,id){
			console.log("进入");
			if (children && children.id==id){
				console.log("找到对象离开");
				return children;
			};
			var arr=children.children;
			if (!arr){
				console.log("数组为空离开");
				return null;
			}
			for (var i=0;i < arr.length;i++){
				var obj=FindCell.RecursionTreeIDAndChildren(arr[i],id);
				if (obj && obj.id==id){
					return obj;
				}
			}
			console.log("分支遍历结束离开");
			return null;
		}

		FindCell.GetClassJsonObject=function(classJson,targetID){
			var len=classJson.events.length;
			for (var i=0;i < len;i++){
				var target=FindCell.RecursionClassJson(classJson.events[i],targetID);
				if (target){
					return target;
				}
			}
			return null;
		}

		FindCell.RecursionClassJson=function(children,id){
			if (children && children.id==id){
				return children;
			}
			if (!(children.bodys && children.bodys[0].children)){
				return null;
			};
			var arr=children.bodys[0].children;
			for (var i=0;i < arr.length;i++){
				if (arr[i]){
					var obj=FindCell.RecursionClassJson(arr[i],id);
					if (obj && obj.id==id){
						return obj;
					}
				}
			}
			return null;
		}

		FindCell.RecursionClassJsonGetArray=function(classJson){
			if (!classJson || !classJson.events){
				return [];
			}
			FindCell.classJsonArray.length=0;
			var len=classJson.events.length;
			for (var i=0;i < len;i++){
				FindCell.RecursionClassJsonAddArray(classJson.events[i],null,0);
			}
			return FindCell.classJsonArray;
		}

		FindCell.RecursionClassJsonAddArray=function(children,parentID,layoutLayer){
			var obj={
				"parentID":parentID,
				"id":children.id,
				"classify":children.classify,
				"type":children.type,
				"propID":children.propID,
				"layoutLayer":layoutLayer,
				"isDebug":children.isDebug,
				"param":children.param
			};
			FindCell.classJsonArray.push(obj);
			if (!(children.bodys && children.bodys[0].children)){
				return;
			};
			var arr=children.bodys[0].children;
			for (var i=0;i < arr.length;i++){
				if (arr[i]){
					FindCell.RecursionClassJsonAddArray(arr[i],children.id,layoutLayer+1);
				}
			}
			if (children.type=="condition" || children.type=="while" || children.type=="delay"){
				var end={
					"parentID":children.parentID,
					"id":children.id+"_1",
					"startID":children.id,
					"classify":"endAction",
					"type":children.type,
					"layoutLayer":layoutLayer,
				};
				FindCell.classJsonArray.push(end)
			}
		}

		FindCell.findIDInArray=function(arr,id){
			for (var i=0;i < arr.length;i++){
				if (arr[i].id==id){
					return arr[i];
				}
			}
			return {};
		}

		FindCell.classJsonArray=[];
		return FindCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.GlobalOnlyValueCell
	var GlobalOnlyValueCell=(function(){
		function GlobalOnlyValueCell(){};
		__class(GlobalOnlyValueCell,'laya.ide.plugin.newScript.E_function.cell.GlobalOnlyValueCell');
		GlobalOnlyValueCell.newGuid=function(){
			var guid="";
			for (var i=1;i <=32;i++){
				var n=Math.floor(Math.random()*16.0).toString(16);
				guid+=n;
			}
			return guid;
		}

		GlobalOnlyValueCell.getCurrentSceneName=function(){
			var currentScenePath=IDEAPIS.getCurPagePath().replace('\\','/');
			var index=currentScenePath.lastIndexOf('/');
			var currentSceneName=currentScenePath.substr(index+1);
			return currentSceneName.split('.')[0];
		}

		GlobalOnlyValueCell.getCurrentClassName=function(){
			return "code\\"+GlobalOnlyValueCell.newGuid();
		}

		return GlobalOnlyValueCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.LayoutCell
	var LayoutCell$2=(function(){
		function LayoutCell(){};
		__class(LayoutCell,'laya.ide.plugin.newScript.E_function.cell.LayoutCell',null,'LayoutCell$2');
		LayoutCell.refreshPanel=function(panel,panelVScall,panelHScall){
			panel.refresh();
			Laya.timer.callLater(null,function(){
				panel.changeScroll();
				if (panel.vScrollBar){
					panel.vScrollBar.value=panelVScall;
				}
				if (panel.hScrollBar){
					panel.hScrollBar.value=panelHScall;
				}
			});
		}

		LayoutCell.LayoutPanelWithArithmetic=function(parent,views){
			parent.y=0;
			var i=0;
			var currentHeight=0;
			for (;i < views.length;i++){
				views[i].pos(0,currentHeight);
				views[i].left=0;
				views[i].right=0;
				currentHeight+=views[i].height+5;
			}
			LayoutCell.refreshPanel(parent,parent.vScrollBar.value,parent.hScrollBar.value);
		}

		LayoutCell.LayoutPanelWithVBox=function(parent,views){
			if (!views){
				return
			}
			parent.removeChildren();
			var box=new VBox();
			box.space=2;
			parent.addChild(box);
			for (var i=0;i < views.length;i++){
				views[i].view.y=i;
				box.addChild(views[i].view);
			}
			LayoutCell.refreshPanel(parent,parent.vScrollBar.value,parent.hScrollBar.value);
		}

		LayoutCell.LayoutPanelAuto=function(mpanel){
			var classArr=ClassJsonContainer.instance.getClassJsonArray();
			var propertyArr=ClassJsonContainer.instance.getProperty();
			var views=NewScriptPluginViewContainer.instance.getViews(propertyArr,classArr,mpanel);
			LayoutCell.LayoutPanelWithVBox(mpanel,views);
		}

		return LayoutCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.ListenCell
	var ListenCell=(function(){
		function ListenCell(){};
		__class(ListenCell,'laya.ide.plugin.newScript.E_function.cell.ListenCell');
		ListenCell.init=function(){
			ListenCell.keyDownList=new LayaDictionary$1();
			ListenCell.listen={};
			Laya.stage.on(/*laya.events.Event.KEY_DOWN*/"keydown",null,ListenCell.onKeyDown);
			Laya.stage.on(/*laya.events.Event.KEY_UP*/"keyup",null,ListenCell.onKeyUp);
		}

		ListenCell.onKeyDown=function(e){
			ListenCell.keyDownList.add(e["keyCode"],ListenCell.keyboardMap[e["keyCode"]]);
			ListenCell.keyboardInspector();
		}

		ListenCell.onKeyUp=function(e){
			ListenCell.keyDownList.remove(e["keyCode"]);
		}

		ListenCell.keyboardInspector=function(){
			var len=ListenCell.keyDownList.length;
			var fullText="";
			for (var i=0;i < len;){
				fullText+=ListenCell.keyDownList.values[i];
				if (i+1 < len){
					fullText+=" ";
				}
				i++;
			}
			if(ListenCell.listen[fullText]){
				ListenCell.listen[fullText]();
			}
		}

		ListenCell.register=function(keyboardInput,func){
			ListenCell.listen[keyboardInput.toUpperCase()]=func;
		}

		ListenCell.keyDownList=null
		ListenCell.listen=null
		__static(ListenCell,
		['keyboardMap',function(){return this.keyboardMap={
				"16":"SHIFT",
				"17":"CTRL",
				"49":"1",
				"50":"2",
				"51":"3",
				"52":"4",
				"53":"5",
				"54":"6",
				"55":"7",
				"56":"8",
				"57":"9",
				"48":"0",
				"81":"Q",
				"87":"W",
				"69":"E",
				"82":"R",
				"84":"T",
				"89":"Y",
				"85":"U",
				"73":"I",
				"79":"O",
				"80":"P",
				"65":"A",
				"83":"S",
				"68":"D",
				"70":"F",
				"71":"G",
				"72":"H",
				"74":"J",
				"75":"K",
				"76":"L",
				"90":"Z",
				"88":"X",
				"67":"C",
				"86":"V",
				"66":"B",
				"78":"N",
				"77":"M",
				"32":"SPACE",
				"13":"ENTER"
		};}

		]);
		return ListenCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.LocalIOCell
	var LocalIOCell=(function(){
		function LocalIOCell(){};
		__class(LocalIOCell,'laya.ide.plugin.newScript.E_function.cell.LocalIOCell');
		LocalIOCell.readJson=function(path){
			if (FileManager.exists(path)){
				return FileManager.readJSONFile(path);
			}
			return null;
		}

		LocalIOCell.saveJson=function(path,json){
			FileManager.createJSONFile(path,json);
		}

		return LocalIOCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.MakerGraphicsCell
	var MakerGraphicsCell=(function(){
		function MakerGraphicsCell(){};
		__class(MakerGraphicsCell,'laya.ide.plugin.newScript.E_function.cell.MakerGraphicsCell');
		MakerGraphicsCell.drawLineStartToEndGlobal=function(start,end,color){
			var endP=end.localToGlobal(new Point(end.x,end.y));
			var startP=start.localToGlobal(new Point(start.x,start.y));
			console.log(endP.x,endP.y,startP.x,startP.y);
			end.graphics.drawLine(endP.x,endP.y,startP.x,startP.y,color);
		}

		MakerGraphicsCell.drawLineStartToEnd=function(start,end,color){
			console.log(end.x,end.y,start.x,start.y);
			end.graphics.drawLine(end.x,end.y,start.x,start.y,color);
		}

		return MakerGraphicsCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.MakerSystemInitCell
	var MakerSystemInitCell=(function(){
		function MakerSystemInitCell(){
			this.value={
				"expressions":
				[{
					"title":"赋值属性",
					"group":"属性",
					"name":"setProperty",
					"code":"{0}={1}",
					"param":
					[{
						"title":"name",
						"type":"any",
						"auto":null,
						"desc":"xxx"
						},{
						"title":"value",
						"type":"any",
						"auto":null,
						"desc":"xxx"
					}]
				}],
				"events":
				[{
					"title":"鼠标点击",
					"group":"input",
					"name":"click",
					"target":"this.owner",
					"nameCanEdit":false,
					"targetCanEdit":true,
					"param":["from","isGroup"]
				},]
			};
		}

		__class(MakerSystemInitCell,'laya.ide.plugin.newScript.E_function.cell.MakerSystemInitCell');
		var __proto=MakerSystemInitCell.prototype;
		/**
		*容器初始化器
		*/
		__proto.containerInit=function(){
			if (FileManager.exists(this.makerSystemPath())){
				this.value=FileManager.readJSONFile(this.makerSystemPath());
			}
			else {
				this.value={};
			}
		}

		/**
		*初始化事件字典
		*@return
		*/
		__proto.initEvent=function(){
			var dic={};
			if (this.value.events){
				var i=0;
				var len=this.value.events.length;
				for (;i < len;i++){
					var obj=this.value.events[i];
					if (dic[obj.name]){
						LayaPluginsConsole.log("events的键存在重复："+obj.name);
					}
					else {
						dic[obj.name]=obj;
					}
				}
			}
			return dic;
		}

		__proto.initEventMenuName=function(){
			var i=0;
			var len=0;
			var events;
			if (this.value){
				events=this.value.events;
				if (events){
					len=events.length;
				}
			};
			var keys=[];
			var eventMenu=[];
			for (;i < len;i++){
				var index=keys.indexOf(events[i].group);
				if (index >=0){
					eventMenu[index].children.push({"name":events[i].title,"key":events[i].name,"other":""})
				}
				else {
					var obj={
						"name":events[i].group,
						"hasChild":true,
						"children":[{"name":events[i].title,"key":events[i].name,"other":""}]
					};
					keys.push(events[i].group);
					eventMenu.push(obj);
				}
			}
			return eventMenu;
		}

		/**
		*初始化行为字典
		*@return
		*/
		__proto.initAction=function(){
			var dic={};
			if (this.value.expressions){
				var i=0;
				var len=this.value.expressions.length;
				for (;i < len;i++){
					var obj=this.value.expressions[i];
					if (dic[obj.name]){
						LayaPluginsConsole.log("expressions的键存在重复："+obj.name);
					}
					else {
						dic[obj.name]=obj;
					}
				}
			}
			return dic;
		}

		__proto.initActionMenuName=function(){
			var i=0;
			var len=0;
			var actions;
			if (this.value){
				actions=this.value.expressions;
				if (actions){
					len=actions.length;
				}
			};
			var keys=[];
			var eventMenu=[];
			for (;i < len;i++){
				var index=keys.indexOf(actions[i].group);
				if (index >=0){
					eventMenu[index].children.push({"name":actions[i].title,"key":actions[i].name,"other":""})
				}
				else {
					var obj={
						"name":actions[i].group,
						"hasChild":true,
						"children":[{"name":actions[i].title,"key":actions[i].name,"other":""}]
					};
					keys.push(actions[i].group);
					eventMenu.push(obj);
				}
			}
			return eventMenu;
		}

		__proto.initEventMenuArray=function(){
			if(this.value){
				return this.value.events;
			}
			else{
				return [];
			}
		}

		__proto.initActionMenuArray=function(){
			if(this.value){
				return this.value.expressions;
			}
			else{
				return [];
			}
		}

		__proto.makerSystemPath=function(){
			return IDEAPIS.workPath+'\\laya\\eventcfg\\MakerSystem.json';
		}

		return MakerSystemInitCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.ObjectPoolCell
	var ObjectPoolCell=(function(){
		function ObjectPoolCell(objClass){
			this.name=null;
			this._pool=null;
			this._objClass=null;
			this._objClass=objClass;
			this._pool=[];
		}

		__class(ObjectPoolCell,'laya.ide.plugin.newScript.E_function.cell.ObjectPoolCell');
		var __proto=ObjectPoolCell.prototype;
		__proto.getObject=function(){
			if(this._pool.length>0){
				return this._pool.pop();
			}
			return new this._objClass;
		}

		__proto.updateClass=function(cla){
			this._objClass=cla;
			this._pool.length=0;
		}

		__proto.returnObject=function(obj){
			this._pool.push(obj);
		}

		return ObjectPoolCell;
	})()


	//class laya.ide.plugin.newScript.E_function.cell.ShowMenuCell
	var ShowMenuCell$1=(function(){
		function ShowMenuCell(){};
		__class(ShowMenuCell,'laya.ide.plugin.newScript.E_function.cell.ShowMenuCell',null,'ShowMenuCell$1');
		ShowMenuCell.execute=function(menuData,xPosition,yPosition,parent,clickCallBack){
			var jsMenu=new JSMenu(menuData,clickCallBack);
			jsMenu.show();
			LayoutCell$2.refreshPanel(parent,parent.vScrollBar.value,parent.hScrollBar.value);
			return null;
		}

		return ShowMenuCell;
	})()


	//class laya.ide.plugin.newScript.F_data.classJsonContainer.ClassJsonContainer
	var ClassJsonContainer=(function(){
		function ClassJsonContainer(){
			this.currentClassName=null;
			this.currentNodeID=NaN;
			this.currentInputChoose=null;
			this.currentPropertyInputChoose=null;
			this._classJson=null;
			this.allObj={};
			this.currentMoveObj=null;
			this.currentTargetObj=null;
		}

		__class(ClassJsonContainer,'laya.ide.plugin.newScript.F_data.classJsonContainer.ClassJsonContainer');
		var __proto=ClassJsonContainer.prototype;
		__proto.createClassJson=function(){
			var json={
				"name":this.getClassName(),
				"TXTRelativePath":this.getClassRelativeTXTPath(),
				"type":"class",
				"version":1,
				"property":[],
				"events":[]
			};
			return json;
		}

		__proto.initClassJson=function(){
			if (!this._classJson){
				if (this.currentClassName){
					this._classJson=this.createClassJson();
					Notice.notify("Prop_change",['eventscript',this.currentClassName.replace('\\','/')+".txt",this.currentNodeID]);
				}
			}
		}

		/**
		*创建"事件"的json
		*@param id
		*@param propID
		*@return
		*/
		__proto.createEventJson=function(id,propID){
			var json={
				"id":id,
				"classify":"event",
				"type":"event",
				"propID":propID,
				"bodys":[{
					"x":null,
					"y":null,
					"children":[]
				}],
			};
			return json;
		}

		/**
		*创建"行为"的json
		*@param id
		*@param propID
		*@param param
		*@return
		*/
		__proto.createActionJson=function(id,parentID,propID,param){
			var params=[];
			if (param){
				for (var i=0;i < param.length;i++){
					var value={
						"title":param[i].title,
						"value":param[i].auto,
						"type":param[i].type
					};
					params.push(value);
				}
			};
			var json={
				"id":id,
				"parentID":parentID,
				"classify":"action",
				"type":"action",
				"propID":propID,
				"param":params,
			};
			return json;
		}

		/**
		*创建"重复"的json
		*@param id
		*@param whileValue
		*@param whileValueType
		*@return
		*/
		__proto.createWhileJson=function(id,parentID){
			var json={
				"id":id,
				"parentID":parentID,
				"classify":"action",
				"type":"while",
				"propID":"while",
				"bodys":[{
					"x":null,
					"y":null,
					"children":[]
				}],
				"param":[{
					"title":"重复次数",
					"value":0,
					"type":"code"
				}],
			};
			return json;
		}

		/**
		*创建"条件"json
		*@param id
		*@param conditionValue
		*@return
		*/
		__proto.createConditionJson=function(id,parentID){
			var json={
				"id":id,
				"parentID":parentID,
				"classify":"action",
				"type":"condition",
				"propID":"condition",
				"bodys":[{
					"x":null,
					"y":null,
					"children":[]
				}],
				"param":[{
					"title":"达成条件，则往下执行",
					"value":null,
					"type":"code"
				}],
			};
			return json;
		}

		/**
		*创建"重复"的json
		*@param id
		*@param withValue
		*@return
		*/
		__proto.createDelayJson=function(id,parentID){
			var json={
				"id":id,
				"parentID":parentID,
				"classify":"action",
				"type":"delay",
				"propID":"delay",
				"bodys":[{
					"x":null,
					"y":null,
					"children":[]
				}],
				"param":[{
					"title":"延时时间",
					"value":null,
					"type":"code"
					},{
					"title":"对该延时行为的命名，外界可通过该名称结束该延时",
					"value":null,
					"type":"string"
				}],
			};
			return json;
		}

		/**
		*更新输入的值，当最后一次筛选的对象
		*@param id
		*@param index
		*@param inputValue
		*/
		__proto.updateInputValue=function(id,index,inputValue){
			var lastInput;
			if (!(this.currentInputChoose && this.currentInputChoose.id==id)){
				this.currentInputChoose=FindCell.GetClassJsonObject(this._classJson,id);
			}
			lastInput=this.currentInputChoose.param[index].value;
			this.currentInputChoose.param[index].value=inputValue;
			return lastInput;
		}

		/**
		*
		*@param id 用来查找修改的对象
		*@param propID 修改成对应的Action
		*@param param 修改参数
		*/
		__proto.updateAction=function(id,propID,param){
			var target=FindCell.GetClassJsonObject(this._classJson,id);
			target.propID=propID;
			var params=[];
			if (param){
				for (var i=0;i < param.length;i++){
					var value={
						"title":param[i].title,
						"value":param[i].auto,
						"type":param[i].type
					};
					params.push(value);
				}
			}
			target.param=params;
		}

		__proto.updateEvent=function(id,propID){
			var target=FindCell.GetClassJsonObject(this._classJson,id);
			target.propID=propID;
		}

		/**
		*插入事件
		*@param id
		*@param propID
		*/
		__proto.addEvent=function(id,propID){
			this.initClassJson();
			var event=this.createEventJson(id,propID);
			this._classJson.events.push(event);
		}

		/**
		*插入action
		*@param id
		*@param propID
		*@param param
		*/
		__proto.insertAction=function(insertID,isEnd,id,propID,param){
			if (!insertID){
				return;
			}
			this.initClassJson();
			var obj=FindCell.GetClassJsonObject(this._classJson,insertID);
			if (isEnd || obj.type=="action"){
				obj=FindCell.GetClassJsonObject(this._classJson,obj.parentID);
				var arr=obj.bodys[0].children;
				var index=arr.length-1;
				for (var i=0;i < arr.length;i++){
					if (arr[i].id==insertID){
						index=i;
						break ;
					}
				};
				var action=this.createActionJson(id,obj.id,propID,param);
				if (index+1==arr.length){
					arr.push(action);
				}
				else {
					arr.splice(index+1,0,action);
				}
			}
			else {
				var arr=obj.bodys[0].children;
				var action=this.createActionJson(id,obj.id,propID,param);
				arr.splice(0,0,action);
			}
		}

		/**
		*添加属性
		*@param id
		*/
		__proto.addProperty=function(id){
			this.initClassJson();
			var property={
				"id":id,
				"type":"var",
				"name":null,
				"value":null,
				"valueType":"code"
			};
			this._classJson.property.push(property);
		}

		/**
		*插入系统默认的行为
		*@param insertID
		*@param isEnd
		*@param id
		*@param propID
		*/
		__proto.insertSystemAction=function(insertID,isEnd,id,propID){
			if (!insertID){
				return;
			};
			var obj=FindCell.GetClassJsonObject(this._classJson,insertID);
			if (isEnd || obj.type=="action"){
				obj=FindCell.GetClassJsonObject(this._classJson,obj.parentID);
				var arr=obj.bodys[0].children;
				var index=arr.length-1;
				for (var i=0;i < arr.length;i++){
					if (arr[i].id==insertID){
						index=i;
						break ;
					}
				};
				var action;
				if (propID=="condition"){
					action=this.createConditionJson(id,obj.id);
				}
				else if (propID=="while"){
					action=this.createWhileJson(id,obj.id);
				}
				else {
					action=this.createDelayJson(id,obj.id);
				}
				if (index+1==arr.length){
					arr.push(action);
				}
				else {
					arr.splice(index+1,0,action);
				}
			}
			else {
				var action;
				if (propID=="condition"){
					action=this.createConditionJson(id,obj.id);
				}
				else if (propID=="while"){
					action=this.createWhileJson(id,obj.id);
				}
				else {
					action=this.createDelayJson(id,obj.id);
				};
				var arr=obj.bodys[0].children;
				arr.splice(0,0,action);
			}
		}

		/**
		*将符合action格式的json对象，直接添加到classjson中
		*/
		__proto.addActionObj=function(index,action){
			var obj=FindCell.GetClassJsonObject(this._classJson,action.parentID);
			obj.bodys[0].children.splice(index,0,action);
		}

		/**
		*将符合event格式的json对象，直接添加到classjson中
		*@param index
		*@param event
		*/
		__proto.addEventObj=function(index,event){
			this._classJson.events.splice(index,0,event);
		}

		/**
		*将一个符合Property格式的obj直接添加到classjson中
		*@param obj
		*/
		__proto.addPropertyObj=function(index,property){
			this._classJson.property.splice(index,0,property);
		}

		/**
		*修改属性
		*@param id
		*@param index
		*@param inputValue
		*/
		__proto.updatePropertyInput=function(id,index,inputValue){
			var lastInput;
			if (!(this.currentPropertyInputChoose && this.currentPropertyInputChoose.id==id)){
				this.currentPropertyInputChoose=FindCell.findIDInArray(this._classJson.property,id);
			}
			if (index==0){
				lastInput=this.currentPropertyInputChoose.name;
				this.currentPropertyInputChoose.name=inputValue;
			}
			else if (index==1){
				lastInput=this.currentPropertyInputChoose.value;
				this.currentPropertyInputChoose.value=inputValue;
			}
			else if (index==2){
				lastInput=this.currentPropertyInputChoose.valueType;
				this.currentPropertyInputChoose.valueType=inputValue;
			}
			return lastInput
		}

		/**
		*移除事件
		*@param id
		*@return
		*/
		__proto.deleteEvent=function(id){
			var deleteObj={};
			var events=this._classJson.events;
			for (var i=0;i < events.length;i++){
				if (events[i].id==id){
					deleteObj.index=i;
					deleteObj.obj=events.splice(i,1)[0];
					return deleteObj;
				}
			}
		}

		/**
		*移除行为
		*@param parentID
		*@param id
		*@return
		*/
		__proto.deleteActionWithID=function(id){
			var child=FindCell.GetClassJsonObject(this._classJson,id);
			var deleteObj={};
			var obj=FindCell.GetClassJsonObject(this._classJson,child.parentID);
			var actions=obj.bodys[0].children;
			for (var i=0;i < actions.length;i++){
				if (actions[i].id==id){
					deleteObj.index=i;
					deleteObj.obj=actions.splice(i,1)[0];
					return deleteObj;
				}
			}
		}

		/**
		*移除行为
		*@param parentID
		*@param id
		*@return
		*/
		__proto.deleteAction=function(parentID,id){
			var deleteObj={};
			var obj=FindCell.GetClassJsonObject(this._classJson,parentID);
			var actions=obj.bodys[0].children;
			for (var i=0;i < actions.length;i++){
				if (actions[i].id==id){
					deleteObj.index=i;
					deleteObj.obj=actions.splice(i,1)[0];
					return deleteObj;
				}
			}
		}

		/**
		*删除属性
		*@param id
		*@return
		*/
		__proto.deleteProperty=function(id){
			var deleteObj={};
			var property=this._classJson.property;
			for (var i=0;i < property.length;i++){
				if (property[i].id==id){
					deleteObj.index=i;
					deleteObj.obj=property.splice(i,1)[0];
					return deleteObj;
				}
			}
		}

		/**
		*获得属性
		*@return
		*/
		__proto.getProperty=function(){
			if (this._classJson){
				return this._classJson.property;
			}
			else {
				return []
			}
		}

		/**
		*将classjosn中的对象，通过递归算法以从上到下的顺序存储到数组中
		*@return
		*/
		__proto.getClassJsonArray=function(){
			return FindCell.RecursionClassJsonGetArray(this._classJson);
		}

		/**
		*获取对象的参数列表
		*@param id
		*@return
		*/
		__proto.getObjParam=function(id){
			var obj=FindCell.GetClassJsonObject(this._classJson,id);
			if(obj){
				return obj.param;
			}
			else{
				return [];
			}
		}

		/**
		*是否可以保存
		*@return
		*/
		__proto.isCanSavr=function(){
			return this.currentClassName && this._classJson;
		}

		/**
		*存储ClassJson
		*/
		__proto.saveClassJson=function(){
			if (this.isCanSavr()){
				LocalIOCell.saveJson(this.getClassJsonPath(),this._classJson);
				var js=EXPAdapter.save(this._classJson);
			}
		}

		/**
		*读取ClassJson
		*/
		__proto.readClassJson=function(currentClassName,currentNodeID){
			if (currentClassName){
				this.currentClassName=currentClassName.replace("/","\\");
				this.currentNodeID=currentNodeID;
				this._classJson=LocalIOCell.readJson(this.getClassJsonPath());
			}
		}

		/**
		*获取中间代码的相对路径
		*@return
		*/
		__proto.getClassRelativeTXTPath=function(){
			return 'laya\\'+this.currentClassName+".txt";
		}

		/**
		*获取json的相对路径
		*@return
		*/
		__proto.getClassRelativelmscriptPath=function(){
			return 'laya\\'+this.currentClassName+".lmscript";
		}

		/**
		*获取当前classjson的全路径，如果没有当前json，则为空
		*@return
		*/
		__proto.getClassJsonPath=function(){
			if (this.currentClassName){
				return IDEAPIS.workPath+'\\'+this.getClassRelativelmscriptPath();
			}
			return null;
		}

		__proto.getClassName=function(){
			if (this.currentClassName){
				return this.currentClassName.split('\\')[1];
			}
			return null;
		}

		/**
		*移动成为子集
		*/
		__proto.moveToChild=function(moveID,targetID){
			var moveObjParent=FindCell.GetClassJsonObject(this._classJson,this.currentMoveObj.parentID);
			var moveObj;
			var moveIndex=NaN;
			for (var i=0;i < moveObjParent.bodys[0].children.length;i++){
				if (moveObjParent.bodys[0].children[i].id==moveID){
					moveObj=moveObjParent.bodys[0].children[i];
					moveIndex=i;
					break ;
				}
			}
			moveObjParent.bodys[0].children.splice(moveIndex,1);
			var targetObj=FindCell.GetClassJsonObject(this._classJson,targetID);
			targetObj.bodys[0].children.splice(0,0,moveObj);
			moveObj.parentID=targetObj.id;
			return moveIndex;
		}

		/**
		*移动成为平级
		*/
		__proto.moveToBrother=function(moveID,targetID){
			var moveObjParent=FindCell.GetClassJsonObject(this._classJson,this.currentMoveObj.parentID);
			var moveObj;
			var moveIndex=NaN;
			for (var i=0;i < moveObjParent.bodys[0].children.length;i++){
				if (moveObjParent.bodys[0].children[i].id==moveID){
					moveObj=moveObjParent.bodys[0].children[i];
					moveIndex=i;
					break ;
				}
			}
			moveObjParent.bodys[0].children.splice(moveIndex,1);
			var targetObjParent=FindCell.GetClassJsonObject(this._classJson,this.currentTargetObj.parentID);
			var insertID=NaN;
			for (var i=0;i < targetObjParent.bodys[0].children.length;i++){
				if (targetObjParent.bodys[0].children[i].id==targetID){
					insertID=i+1;
					break ;
				}
			}
			targetObjParent.bodys[0].children.splice(insertID,0,moveObj);
			moveObj.parentID=targetObjParent.id;
			return moveIndex;
		}

		__proto.isIDRight=function(moveID,targetID){
			if (!moveID || !targetID || moveID==targetID){
				return false;
			}
			this.currentMoveObj=FindCell.GetClassJsonObject(this._classJson,moveID);
			if (!this.currentMoveObj){
				return false;
			}
			this.currentTargetObj=FindCell.RecursionClassJson(this.currentMoveObj,targetID);
			if (this.currentTargetObj){
				return false;
			}
			else {
				return true;
			}
		}

		__proto.moveEventToWithIndex=function(moveID,targetID,index){}
		__proto.moveEventTo=function(moveID,targetID){}
		/**
		*根据索引，移动Action
		*@param moveID
		*@param targetID
		*@param index
		*/
		__proto.moveActionToWithIndex=function(moveID,targetID,index){
			var moveObjParent=FindCell.GetClassJsonObject(this._classJson,this.currentMoveObj.parentID);
			var moveObj;
			var moveIndex=NaN;
			for (var i=0;i < moveObjParent.bodys[0].children.length;i++){
				if (moveObjParent.bodys[0].children[i].id==moveID){
					moveObj=moveObjParent.bodys[0].children[i];
					moveIndex=i;
					break ;
				}
			}
			moveObjParent.bodys[0].children.splice(moveIndex,1);
			var targetObj=FindCell.GetClassJsonObject(this._classJson,targetID);
			targetObj.bodys[0].children.splice(index,0,moveObj);
			moveObj.parentID=targetObj.id;
		}

		__proto.moveActionTo=function(moveID,targetID,isEnd){
			var index=NaN;
			if (isEnd || this.currentTargetObj.type=="action"){
				index=this.moveToBrother(moveID,targetID);
			}
			else {
				index=this.moveToChild(moveID,targetID);
			}
			return index;
		}

		/**
		*移动某对象到某位置
		*@param moveID
		*@param targetID
		*@param isAddBrother：是否添加为平级
		*/
		__proto.moveToFromIndex=function(moveID,targetID,index){
			if (!this.isIDRight(moveID,targetID)){
				return false;
			}
			if (this.currentMoveObj.parentID){
				this.currentTargetObj=FindCell.GetClassJsonObject(this._classJson,targetID);
				this.moveActionToWithIndex(moveID,targetID,index);
			}
			else {
				this.moveEventToWithIndex(moveID,targetID,index);
			}
			return true;
		}

		/**
		*移动某对象到某位置
		*@param moveID
		*@param targetID
		*@param isAddBrother：是否添加为平级
		*/
		__proto.moveTo=function(moveID,targetID,isEnd){
			var returnObj={};
			if (!this.isIDRight(moveID,targetID)){
				returnObj.isCanMove=false;
				return returnObj;
			}
			returnObj.isCanMove=true;
			returnObj.parentID=this.currentMoveObj.parentID;
			if (this.currentMoveObj.parentID){
				this.currentTargetObj=FindCell.GetClassJsonObject(this._classJson,targetID);
				returnObj.index=this.moveActionTo(moveID,targetID,isEnd);
			}
			else {
				returnObj.index=this.moveEventTo(moveID,targetID);
			}
			return returnObj;
		}

		/**
		*设置断点
		*@param id
		*/
		__proto.setDebug=function(id,isDebug){
			var target=FindCell.GetClassJsonObject(this._classJson,id);
			target.isDebug=isDebug;
		}

		/**
		*清空
		*/
		__proto.clear=function(){
			this._classJson=null;
			this.currentClassName=null;
		}

		__getset(1,ClassJsonContainer,'instance',function(){
			if (!ClassJsonContainer._instance)ClassJsonContainer._instance=new ClassJsonContainer();
			return ClassJsonContainer._instance;
		});

		ClassJsonContainer._instance=null
		return ClassJsonContainer;
	})()


	//class laya.ide.plugin.newScript.F_data.globalPropertyContainer.GlobalPropertiesContainer
	var GlobalPropertiesContainer$1=(function(){
		function GlobalPropertiesContainer(){
			this._globalJson=null;
			this._savedataJson=null;
		}

		__class(GlobalPropertiesContainer,'laya.ide.plugin.newScript.F_data.globalPropertyContainer.GlobalPropertiesContainer',null,'GlobalPropertiesContainer$1');
		var __proto=GlobalPropertiesContainer.prototype;
		__proto.getGlobalPropertiesPath=function(){
			return IDEAPIS.workPath+'\\laya\\code\\global.json';
		}

		__proto.getSaveDataPath=function(){
			return IDEAPIS.workPath+'\\laya\\code\\savedata.json';
		}

		/**
		*初始化全局属性
		*/
		__proto.initGlobal=function(){
			var arr=LocalIOCell.readJson(this.getGlobalPropertiesPath());
			if (arr){
				this._globalJson=arr;
			}
			else {
				this._globalJson=[];
			}
		}

		/**
		*初始化SaveObject
		*/
		__proto.initSaveObject=function(){
			var arr=LocalIOCell.readJson(this.getSaveDataPath());
			if (arr){
				this._savedataJson=arr;
			}
			else {
				this._savedataJson=[];
			}
		}

		__proto.save=function(){
			if((this._globalJson && this._globalJson.length > 0)){
				LocalIOCell.saveJson(this.getGlobalPropertiesPath(),this._globalJson);
			}
			if(this.savedataJson && this._savedataJson.length > 0){
				LocalIOCell.saveJson(this.getSaveDataPath(),this._savedataJson);
			}
		}

		__getset(0,__proto,'globalJson',function(){
			if (!this._globalJson){
				this.initGlobal();
			}
			return this._globalJson;
			},function(value){
			this._globalJson=value;
		});

		__getset(0,__proto,'savedataJson',function(){
			if (!this._savedataJson){
				this.initSaveObject();
			}
			return this._savedataJson;
			},function(value){
			this._savedataJson=value;
		});

		__getset(1,GlobalPropertiesContainer,'instance',function(){
			if (!GlobalPropertiesContainer._instance){
				GlobalPropertiesContainer._instance=new GlobalPropertiesContainer();
			}
			return GlobalPropertiesContainer._instance;
		});

		GlobalPropertiesContainer._instance=null
		return GlobalPropertiesContainer;
	})()


	//class laya.ide.plugin.newScript.F_data.makerSystemContainer.MakerSystemContainer
	var MakerSystemContainer$1=(function(){
		function MakerSystemContainer(){
			this.actions=null;
			this.events=null;
			this.eventsMenuName=null;
			this.actionsMenuName=null;
			this.containCreate=null;
			this.containCreate=new MakerSystemInitCell();
			this.containCreate.containerInit();
			this.events=this.containCreate.initEvent();
			this.actions=this.containCreate.initAction();
			this.eventsMenuName=this.containCreate.initEventMenuArray();
			this.actionsMenuName=this.containCreate.initActionMenuArray();
		}

		__class(MakerSystemContainer,'laya.ide.plugin.newScript.F_data.makerSystemContainer.MakerSystemContainer',null,'MakerSystemContainer$1');
		var __proto=MakerSystemContainer.prototype;
		__proto.isHaveEvent=function(name){
			return this.events[name] !=null;
		}

		__proto.isHaveAction=function(name){
			return this.actions[name] !=null;
		}

		/**
		*根据action的键，获取行为
		*@param name
		*/
		__proto.getAction=function(name){
			if (this.isHaveAction(name)){
				return this.actions[name];
			}
			return {};
		}

		/**
		*根据event的键，获取事件
		*@param name
		*/
		__proto.getEvent=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name];
			}
			return {};
		}

		/**
		*名称是否可以修改
		*@param name
		*@return
		*/
		__proto.isNameCanEdit=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name].nameCanEdit;
			}
			return false;
		}

		/**
		*目标是否可以修改
		*@param name
		*@return
		*/
		__proto.isTargetCanEdit=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name].targetCanEdit;
			}
			return false;
		}

		__proto.getTarget=function(name){
			if (this.isHaveEvent(name)){
				return this.events[name].target;
			}
			return null;
		}

		__proto.getEventGroupNames=function(){
			var groupNames=[];
			var i=0;
			var len=this.events.length;
			for (;i < len;i++){
				var value=this.events[i].group;
				var index=groupNames.indexOf(value);
				if (index < 0){
					groupNames.push(value);
				}
			}
			return groupNames;
		}

		/**
		*
		*@param eventKey:传入事件唯一标记的名称，获得该事件以下所有显示的名称和唯一标记名称,获取根事件的话传入root
		*@return：{eventName:***,eventKey:***}
		*/
		__proto.getEventNames=function(groupName){
			var names=[];
			var i=0;
			var len=this.events.length;
			for (;i < len;i++){
				if (this.events[i].group==groupName){
					names.push({"eventName":this.events[i].title,"eventKey":this.events[i].name});
				}
			}
			return names;
		}

		__proto.getEventMenuShow=function(){
			return this.eventsMenuName;
		}

		__proto.getActionMenuShow=function(){
			return this.actionsMenuName;
		}

		__static(MakerSystemContainer,
		['instance',function(){return this.instance=new MakerSystemContainer;}
		]);
		return MakerSystemContainer;
	})()


	//class laya.ide.plugin.newScript.F_data.viewContainer.NewScriptPluginViewContainer
	var NewScriptPluginViewContainer=(function(){
		function NewScriptPluginViewContainer(){
			this.dragImage=null;
			this._isAddDragNow=false;
			this._isMoveDragNow=false;
			this.currentChooseID=null;
			this.currentChooseObjParentID=null;
			this.currentChooseIsEnd=false;
			this.newScriptView=null;
			this.views=new LayaDictionary$1();
			this.viewsTemporary=new LayaDictionary$1();
		}

		__class(NewScriptPluginViewContainer,'laya.ide.plugin.newScript.F_data.viewContainer.NewScriptPluginViewContainer');
		var __proto=NewScriptPluginViewContainer.prototype;
		__proto.getCurrentMouseXOnNewScript=function(){
			return this.newScriptView.mouseX
		}

		__proto.getCurrentMouseYOnNewScript=function(){
			return this.newScriptView.mouseY
		}

		__proto.getView=function(viewID){
			return this.views.get(viewID).view;
		}

		/**
		*设置当前选中的View的ID，以及是否属于结束View
		*@param id
		*@param isEnd
		*/
		__proto.setCurrentChoose=function(id,parentID,isEnd){
			this.currentChooseID=id;
			this.currentChooseObjParentID=parentID;
			this.currentChooseIsEnd=isEnd;
		}

		__proto.getViews=function(propertyArr,classArr,mpanel){
			this.viewsTemporary.keys=[];
			this.viewsTemporary.values=[];
			if (propertyArr){
				if (propertyArr.length > 0){
					for (var i=0;i < propertyArr.length;i++){
						var layoutData=this.views.get(propertyArr[i].id);
						if (!layoutData){
							var property=new Property(propertyArr[i].id,mpanel);
							property.createWithValue(propertyArr[i].name,propertyArr[i].value,propertyArr[i].valueType);
							layoutData=new LayoutData(propertyArr[i].id,property,0,"property");
						}
						this.viewsTemporary.add(propertyArr[i].id,layoutData);
						this.views.remove(propertyArr[i].id);
					};
					var layoutData=this.views.get("PropertyAndClassSeparated");
					if (!layoutData){
						var line=new SeparatedView(GlobalOnlyValueCell.newGuid(),mpanel);
						layoutData=new LayoutData("PropertyAndClassSeparated",line,0,"property");
					}
					this.viewsTemporary.add("PropertyAndClassSeparated",layoutData);
					this.views.remove("PropertyAndClassSeparated");
				}
			}
			if (classArr){
				for (var i=0;i < classArr.length;i++){
					var layoutData=this.views.get(classArr[i].id);
					if (!layoutData){
						var view=null;
						if (classArr[i].classify=="event"){
							var prop=MakerSystemContainer$1.instance.getEvent(classArr[i].propID);
							view=new EventTitleMaterialView(classArr[i].id,prop.title,mpanel);
						}
						else if (classArr[i].classify=="action"){
							var prop=MakerSystemContainer$1.instance.getAction(classArr[i].propID);
							var action=new Action(classArr[i].id,classArr[i].parentID,classArr[i].isDebug,mpanel);
							action.createWithValue(classArr[i].type,prop.title,classArr[i].param,classArr[i].propID);
							action.layoutLayer(classArr[i].layoutLayer);
							view=action;
						}
						else if (classArr[i].classify=="endAction"){
							var endAction=new EndAction(classArr[i].id,classArr[i].startID,classArr[i].parentID,classArr[i].type,mpanel);
							endAction.layoutLayer(classArr[i].layoutLayer);
							view=endAction;
						}
						else {
							LayaPluginsConsoleCell.log("没有该分类："+classArr[i].classify);
						}
						layoutData=new LayoutData(classArr[i].id,view,0,classArr[i].classify);
					}
					else {
						var action=layoutData.view;
						if(action){
							action.layoutLayer(classArr[i].layoutLayer);
						}
					}
					this.viewsTemporary.add(classArr[i].id,layoutData);
					this.views.remove(classArr[i].id);
				}
			}
			for (var i=0;i < this.views.values.length;i++){
				this.views.values[i].view.removeSelf();
			}
			this.views.keys=this.viewsTemporary.keys;
			this.views.values=this.viewsTemporary.values;
			return this.views.values;
		}

		/**
		*创建用于“新脚本”面板上的拖拽的图片素材
		*@param view
		*/
		__proto.initNewScriptDragImage=function(newScriptView){
			this.dragImage=new Image();
			this.dragImage.alpha=0.6;
			this.newScriptView=newScriptView;
			newScriptView.addChild(this.dragImage);
			this.dragImage.visible=false;
		}

		__proto.dragStart=function(actionScope,startX,startY,imageWidth,imageHeight,skinPath,onDragEnd){
			this.dragImage.visible=true;
			this.dragImage.x=startX;
			this.dragImage.y=startY;
			this.dragImage.width=imageWidth;
			this.dragImage.height=imageHeight;
			this.dragImage.pivot(this.dragImage.width / 2,this.dragImage.height / 2);
			this.dragImage.skin=skinPath;
			this.dragImage.startDrag();
			this.dragImage.on(/*laya.events.Event.DRAG_END*/"dragend",actionScope,onDragEnd);
		}

		__proto.dragStop=function(actionScope,dragCallBack){
			this.dragImage.visible=false;
			this.dragImage.off(/*laya.events.Event.DRAG_END*/"dragend",actionScope,dragCallBack);
		}

		/**
		*开始拖拽
		*@param startX
		*@param startY
		*@param imageWidth
		*@param imageHeight
		*@param skinPath
		*@param onDragEnd
		*/
		__proto.addDragStart=function(actionScope,startX,startY,imageWidth,imageHeight,skinPath,onDragEnd){
			this._isAddDragNow=true;
			this.dragStart(actionScope,startX,startY,imageWidth,imageHeight,skinPath,onDragEnd);
		}

		/**
		*拖拽结束
		*/
		__proto.addDragStop=function(actionScope,dragCallBack){
			this._isAddDragNow=false;
			this.dragStop(actionScope,dragCallBack);
		}

		/**
		*开始移动拖拽
		*@param actionScope
		*@param startX
		*@param startY
		*@param imageWidth
		*@param imageHeight
		*@param skinPath
		*@param onDragEnd
		*/
		__proto.moveDragStart=function(actionScope,startX,startY,imageWidth,imageHeight,skinPath,onDragEnd){
			this._isMoveDragNow=true;
			this.dragStart(actionScope,startX,startY,imageWidth,imageHeight,skinPath,onDragEnd);
		}

		/**
		*结束移动拖拽
		*@param actionScope
		*@param dragCallBack
		*/
		__proto.moveDragStop=function(actionScope,dragCallBack){
			this._isMoveDragNow=false;
			this.dragStop(actionScope,dragCallBack);
		}

		__getset(0,__proto,'isAddDragNow',function(){
			return this._isAddDragNow;
		});

		/**
		*是否正在移动拖拽
		*/
		__getset(0,__proto,'isMoveDragNow',function(){
			return this._isMoveDragNow;
		});

		__getset(0,__proto,'isDragNow',function(){
			return this._isMoveDragNow || this._isAddDragNow;
		});

		__getset(1,NewScriptPluginViewContainer,'instance',function(){
			if (!NewScriptPluginViewContainer._instance){
				NewScriptPluginViewContainer._instance=new NewScriptPluginViewContainer();
			}
			return NewScriptPluginViewContainer._instance;
		});

		NewScriptPluginViewContainer._instance=null
		return NewScriptPluginViewContainer;
	})()


	//class laya.ide.plugin.newScript.G_Adapter.NewScriptAPI
	var NewScriptAPI=(function(){
		function NewScriptAPI(){};
		__class(NewScriptAPI,'laya.ide.plugin.newScript.G_Adapter.NewScriptAPI');
		NewScriptAPI.VLayaoutPanel=function(panel,views){
			LayoutCell$2.LayoutPanelWithVBox(panel,views);
		}

		NewScriptAPI.AdaptiveText=function(minimumValue,text){
			AdaptiveTextCell.AdaptiveTextText(minimumValue,text);
		}

		NewScriptAPI.getClassJsonArray=function(){
			var classArr=ClassJsonContainer.instance.getClassJsonArray();
			return classArr;
		}

		NewScriptAPI.getPropertyArray=function(){
			var propertyArr=ClassJsonContainer.instance.getProperty();
			return propertyArr;
		}

		NewScriptAPI.LayoutPanelWithVBox=function(parent,views){
			LayoutCell$2.LayoutPanelWithVBox(parent,views);
		}

		NewScriptAPI.getEventObjByPropID=function(propID){
			return MakerSystemContainer$1.instance.getEvent(propID);
		}

		NewScriptAPI.getActionObjByPropID=function(propID){
			return MakerSystemContainer$1.instance.getAction(propID);
		}

		return NewScriptAPI;
	})()


	//class laya.ide.plugin.newScript.G_EXP.BaseExp
	var BaseExp$1=(function(){
		function BaseExp(){
			this._expressLib=null;
			this._eventLib=null;
			this.id=0;
			this.line=0;
		}

		__class(BaseExp,'laya.ide.plugin.newScript.G_EXP.BaseExp',null,'BaseExp$1');
		var __proto=BaseExp.prototype;
		__proto.initData=function(expressLib,eventLib){
			this._expressLib=expressLib;
			this._eventLib=eventLib;
		}

		__proto.read=function(data,result){
			this.id=data.id;
		}

		__proto.toJson=function(result){
			return null;
		}

		__proto.toCode=function(results,map,sourceMap){}
		__proto.toString=function(){
			return '';
		}

		__proto.recovery=function(){
			this._expressLib=null;
			this._eventLib=null;
		}

		__getset(0,__proto,'type',function(){
			throw 'override this';
		});

		return BaseExp;
	})()


	//class laya.ide.plugin.newScript.G_EXP.CallExpData
	var CallExpData$1=(function(){
		function CallExpData(){
			this.name=null;
			this.title=null;
			this.group=null;
			this.des=null;
			this.code=null;
			this.param=null;
			this.isBrace=false;
			this.returnType=null;
			this.slotType=null;
			this._desFormat=null;
			this.isSlot=false;
			this.isLine=false;
			this.codes=null;
		}

		__class(CallExpData,'laya.ide.plugin.newScript.G_EXP.CallExpData',null,'CallExpData$1');
		var __proto=CallExpData.prototype;
		__proto.read=function(data){
			for(var key in data){
				this[key]=data[key];
			}
			if(this.slotType){
				var arr=this.slotType.split(',');
				this.isSlot=arr.indexOf('slot')>=0;
				this.isLine=arr.indexOf('line')>=0;
			}
			if(this.code){
				this.codes=this.code.split('\n');
			}
		}

		__getset(0,__proto,'desFormat',function(){
			if(!this._desFormat){
				this._desFormat=new StationFormat$1;
				this._desFormat.parse(this.des);
			}
			return this._desFormat;
		});

		return CallExpData;
	})()


	//class laya.ide.plugin.newScript.G_EXP.ExpressionFactory
	var ExpressionFactory$1=(function(){
		function ExpressionFactory(){}
		__class(ExpressionFactory,'laya.ide.plugin.newScript.G_EXP.ExpressionFactory',null,'ExpressionFactory$1');
		ExpressionFactory.registerExp=function(type,cla){
			ExpressionFactory.expLib[type]=cla;
		}

		ExpressionFactory.initData=function(exp){
			exp.initData(MakerSystemActionContainer.expressLib.objects,MakerSystemEventContainer.eventLib.objects);
		}

		ExpressionFactory.createExpressionByType=function(type){
			var cla=ExpressionFactory.expLib[type]||CodeExp$1;
			var obj=new cla;
			ExpressionFactory.initData(obj);
			return obj;
		}

		ExpressionFactory.createExpression=function(data){
			var cla=ExpressionFactory.expLib[data.type]||CodeExp$1;
			var obj=new cla;
			ExpressionFactory.initData(obj);
			obj.read(data,null);
			return obj;
		}

		ExpressionFactory.createClass=function(name){
			(name===void 0)&& (name='');
			var cla=new ClassExp$1;
			ExpressionFactory.initData(cla);
			cla.auto(name||ClassTXTContainer.createClassTXTName());
			return cla;
		}

		ExpressionFactory.init=function(){
			ExpressionFactory.registerExp('action',CallExp$1);
			ExpressionFactory.registerExp('callbody',CallBodyExp$1);
			ExpressionFactory.registerExp('class',ClassExp$1);
			ExpressionFactory.registerExp('code',CodeExp$1);
			ExpressionFactory.registerExp('body',BodyExp$1);
			ExpressionFactory.registerExp('string',StringExp$1);
			ExpressionFactory.registerExp('number',NumberExp$1);
			ExpressionFactory.registerExp('bool',BooleanExp$1);
			ExpressionFactory.registerExp('object',ObjectExp$1);
			ExpressionFactory.registerExp('event',FunctionExp$1);
			ExpressionFactory.registerExp('var',VarExp$1);
			ExpressionFactory.registerExp('while',WhileExp);
			ExpressionFactory.registerExp('delay',WaitExp);
			ExpressionFactory.registerExp('condition',IfExp);
		}

		ExpressionFactory.checkIsCode=function(type){
			return ExpressionFactory.codeTypes[type];
		}

		ExpressionFactory.checkIsRes=function(type){
			return ExpressionFactory.resTypes[type];
		}

		ExpressionFactory.Init='init';
		ExpressionFactory.Dispose='dispose';
		ExpressionFactory.Extension_Code='txt';
		ExpressionFactory.Extension_Json='lmscript';
		ExpressionFactory.Type_Call='action';
		ExpressionFactory.Type_Callbody='callbody';
		ExpressionFactory.Type_Class='class';
		ExpressionFactory.Type_Code='code';
		ExpressionFactory.Type_Body='body';
		ExpressionFactory.Type_String='string';
		ExpressionFactory.Type_Object='object';
		ExpressionFactory.Type_Number='number';
		ExpressionFactory.Type_Bool='bool';
		ExpressionFactory.Type_Function='event';
		ExpressionFactory.Type_Var='var';
		ExpressionFactory.Type_While='while';
		ExpressionFactory.Type_Wait='delay';
		ExpressionFactory.Type_If='condition';
		ExpressionFactory.expLib={};
		__static(ExpressionFactory,
		['resTypes',function(){return this.resTypes={res:true};},'codeTypes',function(){return this.codeTypes={code:true,number:true,bool:true};}
		]);
		ExpressionFactory.__init$=function(){
			ExpressionFactory.init();
		}

		return ExpressionFactory;
	})()


	//class laya.ide.plugin.newScript.G_EXP.Parser
	var Parser$1=(function(){
		function Parser(){};
		__class(Parser,'laya.ide.plugin.newScript.G_EXP.Parser',null,'Parser$1');
		Parser.T=function(num){
			if(num==0)return '';
			return Parser.ttt.substr(0,num);
		}

		Parser.init=function(){
			for(var i=0;i<50;i++){
				Parser.ttt+='\t';
			}
		}

		Parser.toCode=function(classExp,map,sourceMap){
			var results=[];
			classExp.toCode(results,map,sourceMap);
			var str='';
			var level=0;
			Parser.line2ui={};
			Parser.ui2line={};
			for(var i=0,len=results.length;i<len;i++){
				var temp=results[i];
				if(temp=='}'){
					level--;
				};
				var rs=temp.split("//@id:");
				if (rs.length > 1){
					Parser.line2ui[i]=rs[1];
					Parser.ui2line[rs[1]]=i;
				}
				temp=rs[0];
				str+=Parser.T(level)+temp+'\n';
				if(temp=='{'){
					level++;
				}
			}
			if(sourceMap)
				str+="//# sourceMappingURL="+classExp.name+".txt.map\n";
			return str;
		}

		Parser.ttt='';
		Parser.line2ui={};
		Parser.ui2line={};
		Parser.__init$=function(){
			Parser.init();
		}

		return Parser;
	})()


	//class laya.ide.plugin.newScript.G_EXP.StationFormat
	var StationFormat$1=(function(){
		function StationFormat(){
			this.items=new Array;
		}

		__class(StationFormat,'laya.ide.plugin.newScript.G_EXP.StationFormat',null,'StationFormat$1');
		var __proto=StationFormat.prototype;
		__proto.parse=function(des){
			var array=des.match(StationFormat.splitReg);
			var i=0;
			var len=array.length;
			for(;i<len;i++){
				this.items.push(this.parseItem(array[i]));
			}
		}

		__proto.parseItem=function(item){
			if(item.charAt(0)=='{'){
				item=item.substring(1,item.length-1);
				return new StationFormatItem$1('slot',parseFloat(item));
			}
			else{
				return new StationFormatItem$1('label',item);
			}
		}

		StationFormat.Type_Label='label';
		StationFormat.Type_Slot='slot';
		__static(StationFormat,
		['splitReg',function(){return this.splitReg=new RegExp("{(.*?)}|[^{}]+",'g');}
		]);
		return StationFormat;
	})()


	//class laya.ide.plugin.newScript.G_EXP.StationFormatItem
	var StationFormatItem$1=(function(){
		function StationFormatItem(type,value){
			this.type=null;
			this.value=null;
			this.type=type;
			this.value=value;
		}

		__class(StationFormatItem,'laya.ide.plugin.newScript.G_EXP.StationFormatItem',null,'StationFormatItem$1');
		return StationFormatItem;
	})()


	//class laya.ide.plugin.newScript.wraps.Base64VlqTool
	var Base64VlqTool=(function(){
		function Base64VlqTool(){}
		__class(Base64VlqTool,'laya.ide.plugin.newScript.wraps.Base64VlqTool');
		Base64VlqTool.encodeBase64=function(num){
			return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[num];
		}

		Base64VlqTool.decodeBase64=function(str){
			if (!Base64VlqTool._base64Dic){
				Base64VlqTool._base64Dic={};
				var i=0,len=0;
				len=Base64VlqTool.Base64CodeStr.length;
				for (i=0;i < len;i++){
					Base64VlqTool._base64Dic["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[i]]=i;
				}
			}
			return Base64VlqTool._base64Dic[str];
		}

		Base64VlqTool.encodeVlq=function(field){
			var vlq="";
			var sign=0;
			sign=field < 0 ? 1 :0;
			field=(field << 1)+sign;
			do {
				var byte=field & 0x1F;
				if ((field >> 5)> 0){
					byte+=0x20;
				}
				vlq+=Base64VlqTool.encodeBase64(byte);
				field=field >> 5;
			}while (field > 0);
			return vlq;
		}

		Base64VlqTool.encodeVlqArr=function(segment){
			var vlq='';
			for (var fieldIndex=0;fieldIndex < segment.length;++fieldIndex){
				var field=segment[fieldIndex];
				vlq+=Base64VlqTool.encodeVlq(field);
			}
			return vlq;
		}

		Base64VlqTool.decodeVlq=function(segment){
			var bits=0;
			var continuation=false;
			var fields=[];
			for (var i=0;i < segment.length;++i){
				if (!continuation){
					fields.push(0);
					bits=0;
				};
				var byte=Base64VlqTool.decodeBase64(segment[i]);
				continuation=(byte & 0x20)> 0;
				fields[fields.length-1]+=(byte & 0x1F)*Math.pow(2,bits);
				bits+=5;
				if (!continuation){
					if (fields[fields.length-1] & 1){
						fields[fields.length-1]=-fields[fields.length-1];
					}
					fields[fields.length-1]=fields[fields.length-1] >> 1;
				}
			}
			return fields;
		}

		Base64VlqTool.Base64CodeStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
		Base64VlqTool._base64Dic=null
		return Base64VlqTool;
	})()


	//class laya.ide.plugin.newScript.wraps.SourceMapTool
	var SourceMapTool=(function(){
		function SourceMapTool(){
			this.version=3;
			this.file="min.js";
			this.names=[];
			this._nameDic={};
			this.sourceRoot="";
			this.sources=[];
			this._sourcesDic={};
			this.sourcesContent=null;
			this.mappings=null;
			this._mappings=[];
			this._temp=[];
		}

		__class(SourceMapTool,'laya.ide.plugin.newScript.wraps.SourceMapTool');
		var __proto=SourceMapTool.prototype;
		__proto.addSourceFile=function(name){
			if (!this._sourcesDic.hasOwnProperty(name)){
				this.sources.push(name);
				this._sourcesDic[name]=this.sources.length-1;
			}
			return this._sourcesDic[name];
		}

		__proto.getFileNameIndex=function(name){
			if (!name)return 0;
			return this.addSourceFile(name);
		}

		__proto.addName=function(name){
			if (!this._nameDic.hasOwnProperty(name)){
				this.names.push(name);
				this._nameDic[name]=this.names.length-1;
			}
			return this._nameDic[name];
		}

		__proto.getNameIndex=function(name){
			if (!name)name="";
			return this.addName(name);
		}

		__proto.createSouceMap=function(){
			var obj;
			obj={};
			var keys=["version","file","names","sourceRoot","sources"];
			var i=0,len=0;
			len=keys.length;
			var key;
			for (i=0;i < len;i++){
				key=keys[i];
				obj[key]=this[key];
			}
			obj["mappings"]=this.createMappingStr();
			return obj;
		}

		__proto.createSourceMapStr=function(){
			return JSON.stringify(this.createSouceMap());
		}

		__proto.addLine=function(LineNum){
			(LineNum===void 0)&& (LineNum=-1);
			if (LineNum < 0){
				LineNum=this._mappings.length;
			}
			if (!this._mappings[LineNum]){
				var i=0,len=0;
				len=LineNum+1;
				for (i=this._mappings.length;i< len;i++){
					this._mappings.push([]);
				}
			}
			return this._mappings[LineNum];
		}

		/**
		*添加代码映射
		*@param FileColumn 当前代码列
		*@param SourceFileLine 原代码行
		*@param SourceFileColumn 原代码列
		*@param nameIndex 名字索引
		*@param sourceFileID 原文件索引
		*/
		__proto.addMappingPoint=function(FileColumn,SourceFileLine,SourceFileColumn,nameIndex,sourceFileID){
			(SourceFileLine===void 0)&& (SourceFileLine=-1);
			(SourceFileColumn===void 0)&& (SourceFileColumn=-1);
			(nameIndex===void 0)&& (nameIndex=-1);
			(sourceFileID===void 0)&& (sourceFileID=0);
			var line;
			line=this._mappings[this._mappings.length-1];
			if (SourceFileLine >=0){
				if (nameIndex >=0){
					line.push([FileColumn,sourceFileID,SourceFileLine,SourceFileColumn,nameIndex]);
					}else{
					line.push([FileColumn,sourceFileID,SourceFileLine,SourceFileColumn]);
				}
				}else{
				line.push([FileColumn]);
			}
		}

		/**
		*添加代码映射
		*@param FileColumn 代码列
		*@param SourceFileLine 原代码行
		*@param SourceFileColumn 原代码列
		*@param name 原代码名
		*@param SourceFile 原代码文件
		*/
		__proto.addMappintPointEx=function(FileColumn,SourceFileLine,SourceFileColumn,name,SourceFile){
			(SourceFileLine===void 0)&& (SourceFileLine=-1);
			(SourceFileColumn===void 0)&& (SourceFileColumn=-1);
			this.addMappingPoint(FileColumn,SourceFileLine,SourceFileColumn,name?this.getNameIndex(name):-1,this.getFileNameIndex(SourceFile));
		}

		__proto.createPosLine=function(curPosArr,prePosArr){
			this._temp.length=curPosArr.length;
			var i=0,len=0;
			len=curPosArr.length;
			for (i=0;i < len;i++){
				this._temp[i]=curPosArr[i]-prePosArr[i];
			}
			return Base64VlqTool.encodeVlqArr(this._temp);
		}

		__proto.createMappingStr=function(){
			var rst;
			rst="";
			var i=0,len=0;
			var prePosLine;
			var curPosLine;
			len=this._mappings.length;
			var lineStrs;
			lineStrs=[];
			var j=0,jLen=0;
			var tLineArr;
			var tLineStrs;
			prePosLine=[0,0,0,0,0];
			for (i=0;i < len;i++){
				tLineArr=this._mappings[i];
				if (tLineArr && tLineArr.length > 0){
					tLineStrs=[];
					jLen=tLineArr.length;
					for(j=0;j < jLen;j++){
						curPosLine=tLineArr[j];
						tLineStrs.push(this.createPosLine(curPosLine,prePosLine));
						prePosLine=curPosLine;
					}
					lineStrs.push(tLineStrs.join(","));
					}else{
					lineStrs.push("");
				}
			}
			return lineStrs.join(";");
		}

		return SourceMapTool;
	})()


	//class laya.ide.plugin.newScriptDebug.E_function.cell.layout.LayoutCell
	var LayoutCell$3=(function(){
		function LayoutCell(){};
		__class(LayoutCell,'laya.ide.plugin.newScriptDebug.E_function.cell.layout.LayoutCell',null,'LayoutCell$3');
		LayoutCell.HLayout=function(startPosition,space,views){
			var currentPosition=startPosition;
			for (var i=0;i < views.length;i++){
				views[i].x=currentPosition;
				currentPosition+=views[i].width+space;
			}
		}

		LayoutCell.AutoLayout=function(mpanel){
			var classArr=NewScriptAPI.getClassJsonArray();
			var propertyArr=NewScriptAPI.getPropertyArray();
			var layouts=ViewContainer.instance.getViews(propertyArr,classArr,mpanel);
			NewScriptAPI.LayoutPanelWithVBox(mpanel,layouts);
		}

		return LayoutCell;
	})()


	//class laya.ide.plugin.newScriptDebug.F_data.viewContainer.ViewContainer
	var ViewContainer=(function(){
		function ViewContainer(){}
		__class(ViewContainer,'laya.ide.plugin.newScriptDebug.F_data.viewContainer.ViewContainer');
		var __proto=ViewContainer.prototype;
		/**
		*根据数组生成view布局列表
		*@param propertyArr
		*@param classArr
		*@param mpanel
		*/
		__proto.getViews=function(propertyArr,classArr,mpanel){
			var layouts=[];
			if (propertyArr){
				if (propertyArr.length > 0){
					console.log("***********:",propertyArr);
					for (var i=0;i < propertyArr.length;i++){
						var layoutData=this.getProperty(propertyArr[i].id,propertyArr[i].value);
						layouts.push(layoutData);
					};
					var layoutData=this.getCutOffRule(mpanel);
					layouts.push(layoutData);
				}
			}
			if (classArr){
				for (var i=0;i < classArr.length;i++){
					if (classArr[i].classify=="event"){
						layoutData=this.getEvent(classArr[i].id,NewScriptAPI.getEventObjByPropID(classArr[i].propID));
					}
					else if (classArr[i].classify=="action"){
						var value=[];
						if (classArr[i].param){
							for (var j=0;j < classArr[i].param.length;j++){
								value.push(classArr[i].param[j].value);
							}
						}
						layoutData=this.getAction(classArr[i].id,classArr[i].type,classArr[i].layoutLayer,NewScriptAPI.getActionObjByPropID(classArr[i].propID),value);
					}
					else if (classArr[i].classify=="endAction"){
						layoutData=this.getEndAction(classArr[i].id,classArr[i].type,classArr[i].layoutLayer);
					}
					layouts.push(layoutData);
				}
			}
			return layouts;
		}

		/**
		*获取Event布局
		*@param id
		*@param title
		*@return
		*/
		__proto.getEvent=function(id,event){
			var eventView=new DebugEvent(id);
			eventView.init(event.title);
			var layoutData=new LayoutData(id,eventView,0,"event");
			return layoutData;
		}

		/**
		*获取属性布局
		*@param id
		*@param param
		*@return
		*/
		__proto.getProperty=function(id,value){
			var propert=new DebugProperty(id);
			var param=[];
			param.push(value);
			propert.init(param);
			var layoutData=new LayoutData(id,propert,0,"property");
			return layoutData;
		}

		/**
		*获取行为布局
		*@param id
		*@param type
		*@param layer
		*@param title
		*@param param
		*@return
		*/
		__proto.getAction=function(id,type,layer,title,param){
			var action=new DebugAction(id,type);
			console.log("*********************",param);
			action.init(title,layer,param);
			var layoutData=new LayoutData(id,action,0,type);
			return layoutData;
		}

		/**
		*获取结束行为布局
		*@param id
		*@param type
		*@param layer
		*@return
		*/
		__proto.getEndAction=function(id,type,layer){
			var endAction=new DebugEndAction(type);
			endAction.init(layer);
			var layoutData=new LayoutData(id,endAction,0,type);
			return layoutData;
		}

		/**
		*获取分割线布局
		*@param mpanel
		*@return
		*/
		__proto.getCutOffRule=function(mpanel){
			var line=new SeparatedView("line",mpanel);
			var layout=new LayoutData("line",line,0,"cutOffRule");
			return layout;
		}

		__getset(1,ViewContainer,'instance',function(){
			if (!ViewContainer._instance){
				ViewContainer._instance=new ViewContainer();
			}
			return ViewContainer._instance;
		});

		ViewContainer._instance=null
		return ViewContainer;
	})()


	//class laya.ide.plugin.newScriptDebug.G_Adapter.NewScriptDebugAPI
	var NewScriptDebugAPI=(function(){
		function NewScriptDebugAPI(){};
		__class(NewScriptDebugAPI,'laya.ide.plugin.newScriptDebug.G_Adapter.NewScriptDebugAPI');
		return NewScriptDebugAPI;
	})()


	//class laya.ide.plugin.as3plugin.E_core.cells.AddEventView extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.AbstractCell
	var AddEventView=(function(_super){
		/**
		*
		*@param cellValue{nadoID:,panel:,}
		*/
		function AddEventView(cellValue){
			AddEventView.__super.call(this,cellValue);
		}

		__class(AddEventView,'laya.ide.plugin.as3plugin.E_core.cells.AddEventView',_super);
		return AddEventView;
	})(AbstractCell)


	//class laya.ide.plugin.as3plugin.E_core.cells.AddPropertyView extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.AbstractCell
	var AddPropertyView=(function(_super){
		function AddPropertyView(cellValue){
			AddPropertyView.__super.call(this,cellValue);
		}

		__class(AddPropertyView,'laya.ide.plugin.as3plugin.E_core.cells.AddPropertyView',_super);
		return AddPropertyView;
	})(AbstractCell)


	//class laya.ide.plugin.as3plugin.E_core.cells.AddTreeMenu extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.cell.AbstractCell
	var AddTreeMenu=(function(_super){
		function AddTreeMenu(cellValue){
			AddTreeMenu.__super.call(this,cellValue);
		}

		__class(AddTreeMenu,'laya.ide.plugin.as3plugin.E_core.cells.AddTreeMenu',_super);
		return AddTreeMenu;
	})(AbstractCell)


	//class laya.ide.plugin.as3plugin.E_core.steps.action.AddActionStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var AddActionStep=(function(_super){
		function AddActionStep(value){
			AddActionStep.__super.call(this,value);
		}

		__class(AddActionStep,'laya.ide.plugin.as3plugin.E_core.steps.action.AddActionStep',_super);
		return AddActionStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.action.DragActionStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var DragActionStep=(function(_super){
		/**
		*
		*@param value:要移动的对象
		*@param target：移动到的对象
		*/
		function DragActionStep(value,target){
			DragActionStep.__super.call(this,value);
		}

		__class(DragActionStep,'laya.ide.plugin.as3plugin.E_core.steps.action.DragActionStep',_super);
		return DragActionStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.action.RemoveActionStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var RemoveActionStep=(function(_super){
		function RemoveActionStep(value){
			RemoveActionStep.__super.call(this,value);
		}

		__class(RemoveActionStep,'laya.ide.plugin.as3plugin.E_core.steps.action.RemoveActionStep',_super);
		return RemoveActionStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.condition.AddConditionStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var AddConditionStep=(function(_super){
		function AddConditionStep(value){
			AddConditionStep.__super.call(this,value);
		}

		__class(AddConditionStep,'laya.ide.plugin.as3plugin.E_core.steps.condition.AddConditionStep',_super);
		return AddConditionStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.condition.CloseConditionPanelStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var CloseConditionPanelStep=(function(_super){
		function CloseConditionPanelStep(value){
			CloseConditionPanelStep.__super.call(this,value);
		}

		__class(CloseConditionPanelStep,'laya.ide.plugin.as3plugin.E_core.steps.condition.CloseConditionPanelStep',_super);
		return CloseConditionPanelStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.condition.OpenConditionPanelStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var OpenConditionPanelStep=(function(_super){
		function OpenConditionPanelStep(value){
			OpenConditionPanelStep.__super.call(this,value);
		}

		__class(OpenConditionPanelStep,'laya.ide.plugin.as3plugin.E_core.steps.condition.OpenConditionPanelStep',_super);
		return OpenConditionPanelStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.event.AddEventStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var AddEventStep=(function(_super){
		function AddEventStep(value){
			AddEventStep.__super.call(this,value);
		}

		__class(AddEventStep,'laya.ide.plugin.as3plugin.E_core.steps.event.AddEventStep',_super);
		return AddEventStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.event.OpenOrCloseEventListStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var OpenOrCloseEventListStep=(function(_super){
		function OpenOrCloseEventListStep(isOpen,value){
			this.isOpen=false;
			OpenOrCloseEventListStep.__super.call(this,value);
			this.isOpen=isOpen;
		}

		__class(OpenOrCloseEventListStep,'laya.ide.plugin.as3plugin.E_core.steps.event.OpenOrCloseEventListStep',_super);
		return OpenOrCloseEventListStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.event.RemoveEventStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var RemoveEventStep=(function(_super){
		function RemoveEventStep(value){
			RemoveEventStep.__super.call(this,value);
		}

		__class(RemoveEventStep,'laya.ide.plugin.as3plugin.E_core.steps.event.RemoveEventStep',_super);
		return RemoveEventStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.input.chooseInput.ChooseInputStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var ChooseInputStep=(function(_super){
		function ChooseInputStep(value){
			ChooseInputStep.__super.call(this,value);
		}

		__class(ChooseInputStep,'laya.ide.plugin.as3plugin.E_core.steps.input.chooseInput.ChooseInputStep',_super);
		return ChooseInputStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.input.keyInput.KeyInputStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var KeyInputStep=(function(_super){
		function KeyInputStep(value,currentInput){
			KeyInputStep.__super.call(this,value);
		}

		__class(KeyInputStep,'laya.ide.plugin.as3plugin.E_core.steps.input.keyInput.KeyInputStep',_super);
		return KeyInputStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.input.listInput.ListInputStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var ListInputStep=(function(_super){
		function ListInputStep(value){
			ListInputStep.__super.call(this,value);
		}

		__class(ListInputStep,'laya.ide.plugin.as3plugin.E_core.steps.input.listInput.ListInputStep',_super);
		return ListInputStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.input.MouseDragStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var MouseDragStep=(function(_super){
		function MouseDragStep(value){
			MouseDragStep.__super.call(this,value);
		}

		__class(MouseDragStep,'laya.ide.plugin.as3plugin.E_core.steps.input.MouseDragStep',_super);
		return MouseDragStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.list.ChooseListStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var ChooseListStep=(function(_super){
		function ChooseListStep(value){
			ChooseListStep.__super.call(this,value);
		}

		__class(ChooseListStep,'laya.ide.plugin.as3plugin.E_core.steps.list.ChooseListStep',_super);
		return ChooseListStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.list.CloseListStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var CloseListStep=(function(_super){
		function CloseListStep(value){
			CloseListStep.__super.call(this,value);
		}

		__class(CloseListStep,'laya.ide.plugin.as3plugin.E_core.steps.list.CloseListStep',_super);
		return CloseListStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.list.ListMenuStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var ListMenuStep=(function(_super){
		function ListMenuStep(value){
			ListMenuStep.__super.call(this,value);
		}

		__class(ListMenuStep,'laya.ide.plugin.as3plugin.E_core.steps.list.ListMenuStep',_super);
		return ListMenuStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.list.OpenListStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var OpenListStep=(function(_super){
		function OpenListStep(value){
			OpenListStep.__super.call(this,value);
		}

		__class(OpenListStep,'laya.ide.plugin.as3plugin.E_core.steps.list.OpenListStep',_super);
		return OpenListStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.list.OverListStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var OverListStep=(function(_super){
		function OverListStep(value){
			OverListStep.__super.call(this,value);
		}

		__class(OverListStep,'laya.ide.plugin.as3plugin.E_core.steps.list.OverListStep',_super);
		return OverListStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.AddGlobalOrPrivateVariableStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var AddGlobalOrPrivateVariableStep=(function(_super){
		function AddGlobalOrPrivateVariableStep(value){
			AddGlobalOrPrivateVariableStep.__super.call(this,value);
		}

		__class(AddGlobalOrPrivateVariableStep,'laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.AddGlobalOrPrivateVariableStep',_super);
		return AddGlobalOrPrivateVariableStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.CloseGlobalOrPrivateVariablePanelStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var CloseGlobalOrPrivateVariablePanelStep=(function(_super){
		function CloseGlobalOrPrivateVariablePanelStep(value){
			CloseGlobalOrPrivateVariablePanelStep.__super.call(this,value);
		}

		__class(CloseGlobalOrPrivateVariablePanelStep,'laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.CloseGlobalOrPrivateVariablePanelStep',_super);
		return CloseGlobalOrPrivateVariablePanelStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.OpenGlobalOrPrivateVariablePanelStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var OpenGlobalOrPrivateVariablePanelStep=(function(_super){
		function OpenGlobalOrPrivateVariablePanelStep(value){
			OpenGlobalOrPrivateVariablePanelStep.__super.call(this,value);
		}

		__class(OpenGlobalOrPrivateVariablePanelStep,'laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.OpenGlobalOrPrivateVariablePanelStep',_super);
		return OpenGlobalOrPrivateVariablePanelStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.RefreshGlobalOrPrivateVariableList extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var RefreshGlobalOrPrivateVariableList=(function(_super){
		function RefreshGlobalOrPrivateVariableList(value){
			RefreshGlobalOrPrivateVariableList.__super.call(this,value);
		}

		__class(RefreshGlobalOrPrivateVariableList,'laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.RefreshGlobalOrPrivateVariableList',_super);
		return RefreshGlobalOrPrivateVariableList;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.RemoveGlobalOrPrivateVariableStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var RemoveGlobalOrPrivateVariableStep=(function(_super){
		function RemoveGlobalOrPrivateVariableStep(value){
			RemoveGlobalOrPrivateVariableStep.__super.call(this,value);
		}

		__class(RemoveGlobalOrPrivateVariableStep,'laya.ide.plugin.as3plugin.E_core.steps.property.GlobalOrPrivateVariable.RemoveGlobalOrPrivateVariableStep',_super);
		return RemoveGlobalOrPrivateVariableStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.property.MemberVariable.AddMemberVariableStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var AddMemberVariableStep=(function(_super){
		function AddMemberVariableStep(value){
			AddMemberVariableStep.__super.call(this,value);
		}

		__class(AddMemberVariableStep,'laya.ide.plugin.as3plugin.E_core.steps.property.MemberVariable.AddMemberVariableStep',_super);
		return AddMemberVariableStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.property.MemberVariable.RemoveMemberVariableStep extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var RemoveMemberVariableStep=(function(_super){
		function RemoveMemberVariableStep(value){
			RemoveMemberVariableStep.__super.call(this,value);
		}

		__class(RemoveMemberVariableStep,'laya.ide.plugin.as3plugin.E_core.steps.property.MemberVariable.RemoveMemberVariableStep',_super);
		return RemoveMemberVariableStep;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.E_core.steps.propertyType.ChoosePropertyType extends laya.ide.plugin.as3plugin.A_framwork.E_coreFramwork.step.AbstractStep
	var ChoosePropertyType=(function(_super){
		function ChoosePropertyType(value){
			ChoosePropertyType.__super.call(this,value);
		}

		__class(ChoosePropertyType,'laya.ide.plugin.as3plugin.E_core.steps.propertyType.ChoosePropertyType',_super);
		return ChoosePropertyType;
	})(AbstractStep)


	//class laya.ide.plugin.as3plugin.G_EXP.BodyExp extends laya.ide.plugin.as3plugin.G_EXP.BaseExp
	var BodyExp=(function(_super){
		function BodyExp(){
			this.x=NaN;
			this.y=NaN;
			this.children=new Array;
			BodyExp.__super.call(this);
		}

		__class(BodyExp,'laya.ide.plugin.as3plugin.G_EXP.BodyExp',_super);
		var __proto=BodyExp.prototype;
		__proto.pos=function(x,y){
			this.x=x;
			this.y=y;
		}

		__proto.isEmpty=function(){
			return this.children.length==0;
		}

		__proto.addChildExp=function(value){
			this.children.push(value);
		}

		__proto.addChildExpAt=function(value,index){
			this.children.splice(index,0,value);
		}

		__proto.removeChildExp=function(value,isRecovery){
			(isRecovery===void 0)&& (isRecovery=true);
			var index=this.children.indexOf(value);
			this.children.splice(index,1);
			if(isRecovery){
				value.recovery();
			}
		}

		__proto.split=function(value,isToEnd){
			(isToEnd===void 0)&& (isToEnd=true);
			var newBody=ExpressionFactory.createExpressionByType(/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Body*/'body');
			var index=this.children.indexOf(value);
			if(isToEnd){
				var len=this.children.length;
				for(var i=index;i<len;i++){
					newBody.addChildExp(this.children[i]);
				}
				this.children.length=index;
			}
			else{
				newBody.addChildExp(this.children[index]);
				this.children.splice(index,1);
			}
			return newBody;
		}

		__proto.removeChildrenExp=function(){
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				exp.recovery();
			}
			this.children.length=0;
		}

		__proto.insert=function(body,prev){
			var index=this.children.indexOf(prev)+1;
			var item;
			/*for each*/for(var $each_item in body.children){
				item=body.children[$each_item];
				this.children.splice(index,0,item);
				index++;
			}
			body.clear();
			body.recovery();
		}

		__proto.clear=function(){
			this.children.length=0;
		}

		__proto.read=function(data){
			var arr=data.children;
			this.x=data.x;
			this.y=data.y;
			for(var i=0,len=arr.length;i<len;i++){
				this.addChildExp(ExpressionFactory.createExpression(arr[i]));
			}
		}

		__proto.toJson=function(result){
			var arr=[];
			result=result||{};
			result.x=this.x;
			result.y=this.y;
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				arr.push(exp.toJson());
			}
			result.children=arr;
			return result;
		}

		__proto.toCode=function(results){
			results.push("{");
			this.toChildCode(results);
			results.push("}");
		}

		__proto.toChildCode=function(result){
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				exp.toCode(result);
			}
		}

		__proto.recovery=function(){
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				exp.recovery();
			}
			this.children.length=0;
			_super.prototype.recovery.call(this);
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Body*/'body';
		});

		return BodyExp;
	})(BaseExp)


	//class laya.ide.plugin.as3plugin.G_EXP.CodeExp extends laya.ide.plugin.as3plugin.G_EXP.BaseExp
	var CodeExp=(function(_super){
		function CodeExp(){
			this._value=null;
			this.isCodeMode=false;
			CodeExp.__super.call(this);
		}

		__class(CodeExp,'laya.ide.plugin.as3plugin.G_EXP.CodeExp',_super);
		var __proto=CodeExp.prototype;
		__proto.read=function(data){
			this._value=data.value;
			this.isCodeMode=data.isCodeMode;
		}

		__proto.toJson=function(result){
			return {value:this._value,type:this.type,isCodeMode:this.isCodeMode};
		}

		__proto.toCode=function(results){
			results.push(this.toString());
		}

		__proto.toString=function(){
			return this._value;
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Code*/'code';
		});

		__getset(0,__proto,'value',function(){
			return this._value;
			},function(value){
			this._value=value;
		});

		return CodeExp;
	})(BaseExp)


	//class laya.ide.plugin.as3plugin.G_EXP.CallExp extends laya.ide.plugin.as3plugin.G_EXP.BaseExp
	var CallExp=(function(_super){
		function CallExp(){
			this.name=null;
			this.condition=null;
			this.desc=null;
			this._returnType=null;
			this.id=0;
			this.paramCodes=[];
			this.param=new Array;
			CallExp.__super.call(this);
			this.id=CallExp.NO++;
		}

		__class(CallExp,'laya.ide.plugin.as3plugin.G_EXP.CallExp',_super);
		var __proto=CallExp.prototype;
		__proto.getParam=function(){
			return this.param;
		}

		__proto.setParam=function(value,at){
			this.param[at]=value;
		}

		__proto.setName=function(name){
			this.name=name;
			this.desc=this.getDes(name);
		}

		__proto.getDes=function(name){
			return this._expressLib[name];
		}

		__proto.read=function(data){
			this.setName(data.name);
			if(data.condition){
				this.condition=ExpressionFactory.createExpression(data.condition);
			};
			var arr=data.param;
			for(var i=0,len=arr.length;i<len;i++){
				this.setParam(ExpressionFactory.createExpression(arr[i]),i);
			}
		}

		__proto.toJson=function(result){
			var arr=[];
			for(var i=0,len=this.param.length;i<len;i++){
				arr.push(this.param[i].toJson());
			};
			var obj={name:this.name,type:this.type,param:arr};
			if(this.condition){
				obj.condition=this.condition.toJson();
			}
			return obj;
		}

		__proto.readyParamCode=function(){
			this.paramCodes.length=0;
			for(var i=0,len=this.param.length;i<len;i++){
				this.paramCodes.push(this.param[i].toString());
			}
		}

		__proto.replaceParamCode=function(code){
			for(var i=0,len=this.paramCodes.length;i<len;i++){
				code=code.replace('{'+i+'}',this.paramCodes[i]);
			}
			return code;
		}

		__proto.toCode=function(results){
			if(this.condition){
				results.push('if('+this.condition.toString()+')');
				results.push('{');
			};
			var i=NaN,len=NaN;
			var isToBodyCode=false;
			this.readyParamCode();
			if(this.desc&&this.desc.codes){
				var code;
				/*for each*/for(var $each_code in this.desc.codes){
					code=this.desc.codes[$each_code];
					if(code){
						if(code=='{...}'){
							isToBodyCode=true;
							this.toBodyCode(results);
						}
						else{
							code=this.replaceParamCode(code);
							results.push(code+';');
						}
					}
				}
			}
			else{
				results.push(this.name+'('+this.paramCodes.join(',')+');');
			}
			this.toBodyCode(results);
			if(this.condition){
				results.push('}');
			}
		}

		__proto.toBodyCode=function(results){}
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Call*/'call';
		});

		CallExp.NO=0;
		return CallExp;
	})(BaseExp)


	//class laya.ide.plugin.as3plugin.G_EXP.ClassExp extends laya.ide.plugin.as3plugin.G_EXP.BaseExp
	var ClassExp=(function(_super){
		function ClassExp(){
			this.name=null;
			this.version=0;
			this.event=new EventDispatcher;
			this.vars=new Array;
			this.functions=new Array;
			ClassExp.__super.call(this);
		}

		__class(ClassExp,'laya.ide.plugin.as3plugin.G_EXP.ClassExp',_super);
		var __proto=ClassExp.prototype;
		__proto.auto=function(name){
			this.name=name;
			this.version=0.0001;
		}

		__proto.existFunction=function(name){
			var func;
			/*for each*/for(var $each_func in this.functions){
				func=this.functions[$each_func];
				if(func.functionName==name){
					return true;
				}
			}
			return false;
		}

		__proto.read=function(data){
			this.name=data.name;
			this.version=data.version?data.version:0;
			var arr=data.vars;
			for(var i=0,len=arr.length;i<len;i++){
				this.vars.push(ExpressionFactory.createExpression(arr[i]));
			}
			arr=data.functions;
			for(i=0,len=arr.length;i<len;i++){
				this.functions.push(ExpressionFactory.createExpression(arr[i]));
			}
		}

		__proto.addFunction=function(func){
			this.functions.push(func);
		}

		__proto.removeFunction=function(func){
			this.functions.splice(this.functions.indexOf(func),1);
		}

		__proto.addVar=function(v){
			this.vars.push(v);
			this.event.event('AddVar',v);
		}

		__proto.removeVar=function(v){
			this.vars.splice(this.vars.indexOf(v),1);
			this.event.event('RemoveVar',v);
		}

		__proto.toJson=function(result){
			var obj={name:this.name,type:this.type,version:this.version};
			var arr=[];
			for(var i=0,len=this.vars.length;i<len;i++){
				arr.push(this.vars[i].toJson());
			}
			obj.vars=arr;
			arr=[];
			for(i=0,len=this.functions.length;i<len;i++){
				arr.push(this.functions[i].toJson());
			}
			obj.functions=arr;
			return obj
		}

		__proto.toCode=function(results){
			results.push('class '+this.name);
			results.push("{");
			results.push('constructor(owner)');
			results.push("{");
			results.push("this.owner=owner;");
			var varNames=[];
			for(var i=0,len=this.vars.length;i<len;i++){
				var name=this.vars[i].name;
				results.push(this.vars[i].toString());
				varNames.push('"'+name+'"');
			}
			results.push("this._vars=["+varNames.join(',')+"];");
			results.push("}");
			results.push("addEvents()");
			results.push("{");
			for(i=0,len=this.functions.length;i<len;i++){
				var func=this.functions[i];
				if(func.configName==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Dispose*/'dispose')continue ;
				if(func.configName==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Init*/'init'){
					results.push("this."+func.functionName+'();');
				}
				else if(func.desc){
					results.push(func.getOwnerName()+'.on("'+func.customevent+'",this,this.'+func.functionName+');');
				}
			}
			results.push("}");
			results.push("removeEvents()");
			results.push("{");
			for(i=0,len=this.functions.length;i<len;i++){
				func=this.functions[i];
				if(func.configName==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Init*/'init')continue ;
				if(func.configName==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Dispose*/'dispose'){
					results.push("this."+func.functionName+'();');
					}else if(func.desc){
					results.push(func.getOwnerName()+'.off("'+func.customevent+'",this,this.'+func.functionName+');');
				}
			}
			results.push("}");
			len=this.functions.length;
			for(i=0;i<len;i++){
				this.functions[i].toCode(results);
			}
			results.push("}");
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Class*/'class';
		});

		ClassExp.AddVar='AddVar';
		ClassExp.RemoveVar='RemoveVar';
		return ClassExp;
	})(BaseExp)


	//class laya.ide.plugin.as3plugin.G_EXP.FunctionExp extends laya.ide.plugin.as3plugin.G_EXP.BaseExp
	var FunctionExp=(function(_super){
		function FunctionExp(){
			this.functionName=null;
			this.condition=null;
			this.desc=null;
			this.configName=null;
			this.customevent=null;
			this.ownerName=null;
			this.body=null;
			this.vars=new Array;
			this.bodys=new Array;
			FunctionExp.__super.call(this);
		}

		__class(FunctionExp,'laya.ide.plugin.as3plugin.G_EXP.FunctionExp',_super);
		var __proto=FunctionExp.prototype;
		__proto.read=function(data){
			this.functionName=data.name;
			this.configName=data.event;
			this.ownerName=data.ownerName;
			if(!data.customevent){
				this.customevent=this.configName;
			}
			else{
				this.customevent=data.customevent;
			}
			this.desc=this._eventLib[this.configName];
			if(data.condition){
				this.condition=ExpressionFactory.createExpression(data.condition);
			}
			if(data.vars){
				var arr=data.vars;
				for(var i=0,len=arr.length;i<len;i++){
					this.vars.push(ExpressionFactory.createExpression(arr[i]));
				}
			}
			if(data.bodys){
				arr=data.bodys;
				for(i=0,len=arr.length;i<len;i++){
					var tempbody=ExpressionFactory.createExpressionByType(/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Body*/'body');
					tempbody.read(arr[i]);
					this.bodys.push(tempbody);
				}
			}
			else{
				tempbody=ExpressionFactory.createExpressionByType(/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Body*/'body');
				tempbody.read(data);
				this.bodys.push(tempbody);
			}
			this.body=this.bodys[0];
		}

		__proto.removeBody=function(b,isRecovery){
			(isRecovery===void 0)&& (isRecovery=true);
			var index=this.bodys.indexOf(b);
			if(index>=0){
				this.bodys.splice(index,1);
				if(isRecovery){
					b.recovery();
				}
			}
		}

		__proto.addBody=function(b){
			this.bodys.push(b);
		}

		__proto.addVar=function(v){
			this.vars.push(v);
		}

		__proto.removeVar=function(v){
			this.vars.splice(this.vars.indexOf(v),1);
		}

		__proto.auto=function(name,event){
			(event===void 0)&& (event='');
			this.functionName=name;
			this.customevent=this.configName=event;
			this.ownerName='';
			this.body=ExpressionFactory.createExpressionByType(/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Body*/'body');
			this.bodys.push(this.body);
			this.desc=this._eventLib[event];
		}

		__proto.toJson=function(result){
			var obj={name:this.functionName,type:this.type,customevent:this.customevent};
			var arr=[];
			for(var i=0,len=this.vars.length;i<len;i++){
				arr.push(this.vars[i].toJson());
			}
			obj.vars=arr;
			if(this.ownerName){
				obj.ownerName=this.ownerName;
			}
			if(this.configName){
				obj.event=this.configName;
			}
			if(this.condition){
				obj.condition=this.condition.toJson();
			}
			arr=[];
			for(i=0,len=this.bodys.length;i<len;i++){
				if(i>0&&this.bodys[i].isEmpty()){
					continue ;
				}
				arr.push(this.bodys[i].toJson({}));
			}
			obj.bodys=arr;
			return obj;
		}

		__proto.toCode=function(results){
			if(this.desc && this.desc.param){
				results.push(this.functionName+"("+this.desc.param.join(',')+")");
			}
			else{
				results.push(this.functionName+"()");
			}
			results.push("{");
			for(var i=0,len=this.vars.length;i<len;i++){
				results.push(this.vars[i].toStringByLocal());
			}
			if(this.condition){
				results.push('if('+this.condition.toString()+')');
				results.push('{');
			}
			this.body.toChildCode(results);
			if(this.condition){
				results.push('}');
			}
			results.push("}");
		}

		__proto.getOwnerName=function(){
			if(this.ownerName){
				return this.ownerName;
			}
			if(this.desc){
				return this.desc.target
			}
			else{
				return '';
			}
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Function*/'function';
		});

		return FunctionExp;
	})(BaseExp)


	//class laya.ide.plugin.as3plugin.G_EXP.FunctionExpData extends laya.ide.plugin.as3plugin.G_EXP.CallExpData
	var FunctionExpData=(function(_super){
		function FunctionExpData(){
			this.target=null;
			this.eventName=null;
			FunctionExpData.__super.call(this);
		}

		__class(FunctionExpData,'laya.ide.plugin.as3plugin.G_EXP.FunctionExpData',_super);
		return FunctionExpData;
	})(CallExpData)


	//class laya.ide.plugin.as3plugin.G_EXP.VarExp extends laya.ide.plugin.as3plugin.G_EXP.BaseExp
	var VarExp=(function(_super){
		function VarExp(){
			this.name=null;
			this.auto=null;
			this.valueType=null;
			VarExp.__super.call(this);
		}

		__class(VarExp,'laya.ide.plugin.as3plugin.G_EXP.VarExp',_super);
		var __proto=VarExp.prototype;
		__proto.read=function(data){
			this.name=data.name;
			this.auto=data.auto;
			this.valueType=data.valueType?data.valueType:/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Code*/'code'
		}

		__proto.toJson=function(result){
			return {name:this.name,type:this.type,auto:this.auto,valueType:this.valueType};
		}

		__proto.toString=function(){
			if(ExpressionFactory.checkIsCode(this.valueType)){
				return "this."+this.name+"="+this.auto+";"
			}
			else{
				return "this."+this.name+'="'+this.auto+'";'
			}
		}

		__proto.toStringByLocal=function(){
			if(ExpressionFactory.checkIsCode(this.valueType)){
				return "var "+this.name+"="+this.auto+";"
			}
			else{
				return "var "+this.name+'="'+this.auto+'";'
			}
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Var*/'var';
		});

		return VarExp;
	})(BaseExp)


	//class laya.ide.plugin.newScript.E_function.step.ActionDragMove extends laya.ide.plugin.framework.blackBox.AbstractStep
	var ActionDragMove=(function(_super){
		function ActionDragMove(moveID,targetID,mpanel){
			this.moveID=null;
			this.targetID=null;
			this.fromID=null;
			this.fromIndex=NaN;
			this.mpanel=null;
			ActionDragMove.__super.call(this);
			this.moveID=moveID;
			this.targetID=targetID;
			this.mpanel=mpanel;
		}

		__class(ActionDragMove,'laya.ide.plugin.newScript.E_function.step.ActionDragMove',_super);
		var __proto=ActionDragMove.prototype;
		__proto._execute=function(){
			var returnObj=ClassJsonContainer.instance.moveTo(this.moveID,this.targetID,NewScriptPluginViewContainer.instance.currentChooseIsEnd);
			if (returnObj.isCanMove){
				this.fromID=returnObj.parentID;
				this.fromIndex=returnObj.index;
				LayoutCell$2.LayoutPanelAuto(this.mpanel);
			}
		}

		__proto._revocation=function(){
			var isLayout=ClassJsonContainer.instance.moveToFromIndex(this.moveID,this.fromID,this.fromIndex);
			if (isLayout){
				LayoutCell$2.LayoutPanelAuto(this.mpanel);
			}
		}

		return ActionDragMove;
	})(AbstractStep$1)


	//class laya.ide.plugin.newScript.E_function.step.AddViewStep extends laya.ide.plugin.framework.blackBox.AbstractStep
	var AddViewStep=(function(_super){
		function AddViewStep(addType,layoutPanel){
			this.addType=null;
			this.layoutPanel=null;
			this.id=null;
			AddViewStep.__super.call(this);
			this.addType=addType;
			this.layoutPanel=layoutPanel;
		}

		__class(AddViewStep,'laya.ide.plugin.newScript.E_function.step.AddViewStep',_super);
		var __proto=AddViewStep.prototype;
		__proto._execute=function(){
			var _$this=this;
			this.id=GlobalOnlyValueCell.newGuid();
			if (this.addType=="property"){
				ClassJsonContainer.instance.addProperty(this.id);
			}
			else if (this.addType=="event"){
				ClassJsonContainer.instance.addEvent(this.id,"click");
				NewScriptPluginViewContainer.instance.setCurrentChoose(this.id,null,false);
			}
			else if (this.addType=="action"){
				ClassJsonContainer.instance.insertAction(NewScriptPluginViewContainer.instance.currentChooseID,NewScriptPluginViewContainer.instance.currentChooseIsEnd,this.id,"MakerSystemAction.playAction",MakerSystemContainer$1.instance.getAction("MakerSystemAction.playAction").param);
			}
			else {
				ClassJsonContainer.instance.insertSystemAction(NewScriptPluginViewContainer.instance.currentChooseID,NewScriptPluginViewContainer.instance.currentChooseIsEnd,this.id,this.addType);
			}
			LayoutCell$2.LayoutPanelAuto(this.layoutPanel);
			if (this.addType=="event"){
				Laya.timer.callLater(this,function(){
					LayoutCell$2.refreshPanel(_$this.layoutPanel,_$this.layoutPanel.vScrollBar.max,0);
				});
			}
			else if (this.addType=="property"){
				Laya.timer.callLater(this,function(){
					LayoutCell$2.refreshPanel(_$this.layoutPanel,0,0);
				});
			}
		}

		__proto._revocation=function(){
			if (this.addType=="property"){
				ClassJsonContainer.instance.deleteProperty(this.id);
			}
			else if (this.addType=="event"){
				ClassJsonContainer.instance.deleteEvent(this.id);
			}
			else{
				ClassJsonContainer.instance.deleteActionWithID(this.id);
			}
			LayoutCell$2.LayoutPanelAuto(this.layoutPanel);
		}

		return AddViewStep;
	})(AbstractStep$1)


	//class laya.ide.plugin.newScript.E_function.step.DeleteStep extends laya.ide.plugin.framework.blackBox.AbstractStep
	var DeleteStep=(function(_super){
		function DeleteStep(type,parentID,id,layoutPanel){
			this.type=null;
			this.parentID=null;
			this.id=null;
			this.layoutPanel=null;
			this.obj=null;
			this.index=NaN;
			DeleteStep.__super.call(this);
			this.type=type;
			this.parentID=parentID;
			this.id=id;
			this.layoutPanel=layoutPanel;
		}

		__class(DeleteStep,'laya.ide.plugin.newScript.E_function.step.DeleteStep',_super);
		var __proto=DeleteStep.prototype;
		__proto._execute=function(){
			var deleteObj;
			if (this.type=="event"){
				deleteObj=ClassJsonContainer.instance.deleteEvent(this.id);
			}
			else if (this.type=="action"){
				deleteObj=ClassJsonContainer.instance.deleteAction(this.parentID,this.id);
			}
			else if (this.type=="property"){
				deleteObj=ClassJsonContainer.instance.deleteProperty(this.id);
			}
			this.index=deleteObj.index;
			this.obj=deleteObj.obj;
			LayoutCell$2.LayoutPanelAuto(this.layoutPanel);
		}

		__proto._revocation=function(){
			if (this.type=="event"){
				ClassJsonContainer.instance.addEventObj(this.index,this.obj);
			}
			else if (this.type=="action"){
				ClassJsonContainer.instance.addActionObj(this.index,this.obj);
			}
			else if (this.type=="property"){
				ClassJsonContainer.instance.addPropertyObj(this.index,this.obj);
			}
			LayoutCell$2.LayoutPanelAuto(this.layoutPanel);
		}

		return DeleteStep;
	})(AbstractStep$1)


	//class laya.ide.plugin.newScript.E_function.step.InputStep extends laya.ide.plugin.framework.blackBox.AbstractStep
	var InputStep=(function(_super){
		function InputStep(id,index,inputValue,inputTargetType){
			this.id=null;
			this.index=NaN;
			this.inputValue=null;
			this.lastInputValue=null;
			this.inputTargetType=null;
			InputStep.__super.call(this);
			this.id=id;
			this.index=index;
			this.inputValue=inputValue;
			this.inputTargetType=inputTargetType;
		}

		__class(InputStep,'laya.ide.plugin.newScript.E_function.step.InputStep',_super);
		var __proto=InputStep.prototype;
		__proto._execute=function(){
			if (this.inputTargetType=="property"){
				this.lastInputValue=ClassJsonContainer.instance.updatePropertyInput(this.id,this.index,this.inputValue);
			}
			else if (this.inputTargetType=="class"){
				this.lastInputValue=ClassJsonContainer.instance.updateInputValue(this.id,this.index,this.inputValue);
			}
		}

		__proto._revocation=function(){
			if (this.inputTargetType=="property"){
				ClassJsonContainer.instance.updatePropertyInput(this.id,this.index,this.lastInputValue);
				var view=NewScriptPluginViewContainer.instance.getView(this.id);
				view.setInputValue(this.index,this.lastInputValue);
			}
			else if (this.inputTargetType=="class"){
				ClassJsonContainer.instance.updateInputValue(this.id,this.index,this.lastInputValue);
				var view=NewScriptPluginViewContainer.instance.getView(this.id);
				view.setInputValue(this.index,this.lastInputValue);
			}
		}

		return InputStep;
	})(AbstractStep$1)


	//class laya.ide.plugin.newScript.E_function.step.SwitchObjectStep extends laya.ide.plugin.framework.blackBox.AbstractStep
	var SwitchObjectStep=(function(_super){
		function SwitchObjectStep(currentSceneFullPath,cutSceneFullPath,currentEventscript,cutEventscript,name,currentNodeID,cutNodeID,panel){
			this.lastSceneFullPath=null;
			this.currentSceneFullPath=null;
			this.lastEventscript=null;
			this.currentEventscript=null;
			this.name=null;
			this.currentNodeID=NaN;
			this.lastNodeID=NaN;
			this.panel=null;
			SwitchObjectStep.__super.call(this);
			this.lastSceneFullPath=currentSceneFullPath;
			this.currentSceneFullPath=cutSceneFullPath;
			this.lastEventscript=currentEventscript;
			this.currentEventscript=cutEventscript;
			this.name=name;
			this.lastNodeID=currentNodeID;
			this.currentNodeID=cutNodeID;
			this.panel=panel;
		}

		__class(SwitchObjectStep,'laya.ide.plugin.newScript.E_function.step.SwitchObjectStep',_super);
		var __proto=SwitchObjectStep.prototype;
		__proto._execute=function(){
			ClassJsonContainer.instance.saveClassJson();
			if (!this.currentEventscript){
				this.currentEventscript=GlobalOnlyValueCell.getCurrentClassName()+".txt";
			}
			ClassJsonContainer.instance.readClassJson(this.currentEventscript.split('.')[0],this.currentNodeID);
			LayoutCell$2.LayoutPanelAuto(this.panel);
		}

		__proto._revocation=function(){
			if (this.lastEventscript){
				ClassJsonContainer.instance.saveClassJson();
				ClassJsonContainer.instance.readClassJson(this.lastEventscript.split('.')[0],this.lastNodeID);
			}
			else {
				ClassJsonContainer.instance.clear();
			}
			Notice.notify(/*laya.ide.event.IDEEvent.DISPLAY_TREE_SELECTITEMS*/"DISPLAY_TREE_SELECTITEMS",[[this.lastNodeID]]);
			LayoutCell$2.LayoutPanelAuto(this.panel);
			if (!this.lastSceneFullPath ||this.lastSceneFullPath==this.currentSceneFullPath){}
				else {}
		}

		return SwitchObjectStep;
	})(AbstractStep$1)


	//class laya.ide.plugin.newScript.E_function.step.UpdateActionStep extends laya.ide.plugin.framework.blackBox.AbstractStep
	var UpdateActionStep=(function(_super){
		function UpdateActionStep(actionID,currentActionKey,posX,posY,parent,updateActionViewCallBack,revocationCallBack){
			this.actionID=null;
			this.posX=NaN;
			this.posY=NaN;
			this.mparent=null;
			this.lastActionKey=null;
			this.updateActionViewCallBack=null;
			this.revocationCallBack=null;
			this.lastParam=null;
			UpdateActionStep.__super.call(this);
			this.actionID=actionID;
			this.posX=posX;
			this.posY=posY;
			this.mparent=parent;
			this.lastActionKey=currentActionKey;
			this.updateActionViewCallBack=updateActionViewCallBack;
			this.revocationCallBack=revocationCallBack;
		}

		__class(UpdateActionStep,'laya.ide.plugin.newScript.E_function.step.UpdateActionStep',_super);
		var __proto=UpdateActionStep.prototype;
		__proto._execute=function(){
			var _$this=this;
			ShowMenuCell$1.execute(MakerSystemContainer$1.instance.getActionMenuShow(),this.posX,this.posY,this.mparent,function(key){
				_$this.lastParam=ClassJsonContainer.instance.getObjParam(_$this.actionID);
				var actionObj=MakerSystemContainer$1.instance.getAction(key);
				if(_$this.updateActionViewCallBack){
					_$this.updateActionViewCallBack(actionObj.name,actionObj.title,actionObj.param,key);
				}
				ClassJsonContainer.instance.updateAction(_$this.actionID,key,actionObj.param);
			});
		}

		// mText.text=CurrentViewContainer.instance.getViewLenght(PanelName.scriptPanel)as String;
		__proto._revocation=function(){
			var actionObj=MakerSystemContainer$1.instance.getAction(this.lastActionKey);
			var propParam=[];
			if (this.lastParam&&this.lastParam.length>0){
				for (var i=0;i < this.lastParam.length;i++){
					var value={
						"title":this.lastParam[i].title,
						"auto":this.lastParam[i].value,
						"type":this.lastParam[i].type
					};
					propParam.push(value);
				}
			}
			else{
				propParam=actionObj.param;
			}
			if(this.revocationCallBack){
				this.revocationCallBack(actionObj.name,actionObj.title,propParam,this.lastActionKey);
			}
			ClassJsonContainer.instance.updateAction(this.actionID,this.lastActionKey,propParam);
		}

		return UpdateActionStep;
	})(AbstractStep$1)


	//class laya.ide.plugin.newScript.E_function.step.UpdateEventStep extends laya.ide.plugin.framework.blackBox.AbstractStep
	var UpdateEventStep=(function(_super){
		function UpdateEventStep(eventID,currentEventKey,posX,posY,parent,updateEventViewCallBack,revocationCallBack){
			this.eventID=null;
			this.posX=NaN;
			this.posY=NaN;
			this.mparent=null;
			this.updateEventViewCallBack=null;
			this.revocationCallBack=null;
			this.lastEventKey=null;
			UpdateEventStep.__super.call(this);
			this.eventID=eventID;
			this.posX=posX;
			this.posY=posY;
			this.mparent=parent;
			this.updateEventViewCallBack=updateEventViewCallBack;
			this.lastEventKey=currentEventKey;
			this.revocationCallBack=revocationCallBack;
		}

		__class(UpdateEventStep,'laya.ide.plugin.newScript.E_function.step.UpdateEventStep',_super);
		var __proto=UpdateEventStep.prototype;
		__proto._execute=function(){
			var _$this=this;
			ShowMenuCell$1.execute(MakerSystemContainer$1.instance.getEventMenuShow(),this.posX,this.posY,this.mparent,function(key){
				var eventObj=MakerSystemContainer$1.instance.getEvent(key);
				if (_$this.updateEventViewCallBack){
					_$this.updateEventViewCallBack(eventObj.title,key);
				}
				ClassJsonContainer.instance.updateEvent(_$this.eventID,key);
			});
		}

		// mText.text=CurrentViewContainer.instance.getViewLenght(PanelName.scriptPanel)as String;
		__proto._revocation=function(){
			var eventObj=MakerSystemContainer$1.instance.getEvent(this.lastEventKey);
			if (this.revocationCallBack){
				this.revocationCallBack(eventObj.title,this.lastEventKey);
			}
			ClassJsonContainer.instance.updateEvent(this.eventID,this.lastEventKey);
		}

		return UpdateEventStep;
	})(AbstractStep$1)


	//class laya.ide.plugin.newScript.G_EXP.BlockExp extends laya.ide.plugin.newScript.G_EXP.BaseExp
	var BlockExp=(function(_super){
		function BlockExp(){
			this.condition=null;
			this.conditionExt1=null;
			this.name=null;
			this.bodys=new Array;
			BlockExp.__super.call(this);
		}

		__class(BlockExp,'laya.ide.plugin.newScript.G_EXP.BlockExp',_super);
		var __proto=BlockExp.prototype;
		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,result);
			this.condition=ExpressionFactory$1.createExpression(data.param[0]);
			if (data.param[1]){
				this.conditionExt1=ExpressionFactory$1.createExpression(data.param[1]);
			}
			else{
				this.conditionExt1=null;
			}
			this.name=data.name;
			for (var i=0;i < data.bodys.length;i++){
				var tempbody=ExpressionFactory$1.createExpressionByType(/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Body*/'body');
				tempbody.read(data.bodys[i],null);
				this.bodys[i]=tempbody;
			}
		}

		__proto.toJson=function(result){
			var obj={name:this.name,type:this.type};
			obj.param=[{
				value:this.condition.toString(),
				type:"code"
			}];
			var arr=[];
			for(var i=0,len=this.bodys.length;i<len;i++){
				if(i>0&&this.bodys[i].isEmpty()){
					continue ;
				}
				arr.push(this.bodys[i].toJson({}));
			}
			obj.bodys=arr;
			return obj;
		}

		return BlockExp;
	})(BaseExp$1)


	//class laya.ide.plugin.newScript.G_EXP.BodyExp extends laya.ide.plugin.newScript.G_EXP.BaseExp
	var BodyExp$1=(function(_super){
		function BodyExp(){
			this.x=NaN;
			this.y=NaN;
			this.children=new Array;
			BodyExp.__super.call(this);
		}

		__class(BodyExp,'laya.ide.plugin.newScript.G_EXP.BodyExp',_super,'BodyExp$1');
		var __proto=BodyExp.prototype;
		__proto.pos=function(x,y){
			this.x=x;
			this.y=y;
		}

		__proto.isEmpty=function(){
			return this.children.length==0;
		}

		__proto.addChildExp=function(value){
			this.children.push(value);
		}

		__proto.addChildExpAt=function(value,index){
			this.children.splice(index,0,value);
		}

		__proto.removeChildExp=function(value,isRecovery){
			(isRecovery===void 0)&& (isRecovery=true);
			var index=this.children.indexOf(value);
			this.children.splice(index,1);
			if(isRecovery){
				value.recovery();
			}
		}

		__proto.split=function(value,isToEnd){
			(isToEnd===void 0)&& (isToEnd=true);
			var newBody=ExpressionFactory$1.createExpressionByType(/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Body*/'body');
			var index=this.children.indexOf(value);
			if(isToEnd){
				var len=this.children.length;
				for(var i=index;i<len;i++){
					newBody.addChildExp(this.children[i]);
				}
				this.children.length=index;
			}
			else{
				newBody.addChildExp(this.children[index]);
				this.children.splice(index,1);
			}
			return newBody;
		}

		__proto.removeChildrenExp=function(){
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				exp.recovery();
			}
			this.children.length=0;
		}

		__proto.insert=function(body,prev){
			var index=this.children.indexOf(prev)+1;
			var item;
			/*for each*/for(var $each_item in body.children){
				item=body.children[$each_item];
				this.children.splice(index,0,item);
				index++;
			}
			body.clear();
			body.recovery();
		}

		__proto.clear=function(){
			this.children.length=0;
		}

		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,result);
			var arr=data.children;
			this.x=data.x;
			this.y=data.y;
			for(var i=0,len=arr.length;i<len;i++){
				this.addChildExp(ExpressionFactory$1.createExpression(arr[i]));
			}
		}

		__proto.toJson=function(result){
			var arr=[];
			result=result||{};
			result.x=this.x;
			result.y=this.y;
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				arr.push(exp.toJson());
			}
			result.children=arr;
			return result;
		}

		__proto.toCode=function(results,map,sourceMap){
			results.push("{");
			this.toChildCode(results,map,sourceMap);
			results.push("}");
		}

		__proto.toChildCode=function(result,map,sourceMap){
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				exp.toCode(result,map,sourceMap);
			}
		}

		__proto.recovery=function(){
			var exp;
			/*for each*/for(var $each_exp in this.children){
				exp=this.children[$each_exp];
				exp.recovery();
			}
			this.children.length=0;
			_super.prototype.recovery.call(this);
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Body*/'body';
		});

		return BodyExp;
	})(BaseExp$1)


	//class laya.ide.plugin.newScript.G_EXP.CodeExp extends laya.ide.plugin.newScript.G_EXP.BaseExp
	var CodeExp$1=(function(_super){
		function CodeExp(){
			this._value=null;
			this.isCodeMode=false;
			CodeExp.__super.call(this);
		}

		__class(CodeExp,'laya.ide.plugin.newScript.G_EXP.CodeExp',_super,'CodeExp$1');
		var __proto=CodeExp.prototype;
		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,result);
			this._value=data.value;
			this.isCodeMode=data.isCodeMode;
		}

		__proto.toJson=function(result){
			return {value:this._value,type:this.type,isCodeMode:this.isCodeMode};
		}

		__proto.toCode=function(results,map,sourceMap){
			results.push(this.toString());
		}

		__proto.toString=function(){
			return this._value;
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Code*/'code';
		});

		__getset(0,__proto,'value',function(){
			return this._value;
			},function(value){
			this._value=value;
		});

		return CodeExp;
	})(BaseExp$1)


	//class laya.ide.plugin.newScript.G_EXP.CallExp extends laya.ide.plugin.newScript.G_EXP.BaseExp
	var CallExp$1=(function(_super){
		function CallExp(){
			this.name=null;
			this.condition=null;
			this.desc=null;
			this._returnType=null;
			this.paramCodes=[];
			this.param=new Array;
			CallExp.__super.call(this);
			this.id=CallExp.NO++;
		}

		__class(CallExp,'laya.ide.plugin.newScript.G_EXP.CallExp',_super,'CallExp$1');
		var __proto=CallExp.prototype;
		__proto.getParam=function(){
			return this.param;
		}

		__proto.setParam=function(value,at){
			this.param[at]=value;
		}

		__proto.setName=function(name){
			this.name=name;
			this.desc=this.getDes(name);
		}

		__proto.getDes=function(name){
			return this._expressLib[name];
		}

		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,result);
			this.setName(data.propID);
			if(data.condition){
				this.condition=ExpressionFactory$1.createExpression(data.condition);
			};
			var arr=data.param;
			for(var i=0,len=arr.length;i<len;i++){
				this.setParam(ExpressionFactory$1.createExpression(arr[i]),i);
			}
		}

		__proto.toJson=function(result){
			var arr=[];
			for(var i=0,len=this.param.length;i<len;i++){
				arr.push(this.param[i].toJson());
			};
			var obj={name:this.name,type:this.type,param:arr};
			if(this.condition){
				obj.condition=this.condition.toJson();
			}
			return obj;
		}

		__proto.readyParamCode=function(){
			this.paramCodes.length=0;
			for(var i=0,len=this.param.length;i<len;i++){
				this.paramCodes.push(this.param[i].toString());
			}
		}

		__proto.replaceParamCode=function(code){
			for(var i=0,len=this.paramCodes.length;i<len;i++){
				code=code.replace('{'+i+'}',this.paramCodes[i]);
			}
			return code;
		}

		__proto.toCode=function(results,map,sourceMap){
			if(this.condition){
				results.push('if('+this.condition.toString()+')');
				results.push('{');
			};
			var i=NaN,len=NaN;
			var isToBodyCode=false;
			this.readyParamCode();
			if(this.desc&&this.desc.codes){
				var code;
				/*for each*/for(var $each_code in this.desc.codes){
					code=this.desc.codes[$each_code];
					if(code){
						if(code=='{...}'){
							isToBodyCode=true;
							this.toBodyCode(results);
						}
						else{
							code=this.replaceParamCode(code);
							results.push(code+';//@id:'+this.id);
						}
					}
				}
			}
			else{
				results.push(this.name+'('+this.paramCodes.join(',')+');//@id:'+this.id);
				if (map){
					map.push(this.desc.title+'('+this.paramCodes.join(',')+');');
					sourceMap.addLine(results.length-1);
					sourceMap.addMappingPoint(0,map.length-1,0);
				}
			}
			this.toBodyCode(results);
			if(this.condition){
				results.push('}');
			}
		}

		__proto.toBodyCode=function(results){}
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Call*/'action';
		});

		CallExp.NO=0;
		return CallExp;
	})(BaseExp$1)


	//class laya.ide.plugin.newScript.G_EXP.ClassExp extends laya.ide.plugin.newScript.G_EXP.BaseExp
	var ClassExp$1=(function(_super){
		function ClassExp(){
			this.name=null;
			this.version=0;
			this.event=new EventDispatcher;
			this.vars=new Array;
			this.functions=new Array;
			ClassExp.__super.call(this);
		}

		__class(ClassExp,'laya.ide.plugin.newScript.G_EXP.ClassExp',_super,'ClassExp$1');
		var __proto=ClassExp.prototype;
		__proto.auto=function(name){
			this.name=name;
			this.version=0.0001;
		}

		__proto.existFunction=function(name){
			var func;
			/*for each*/for(var $each_func in this.functions){
				func=this.functions[$each_func];
				if(func.functionName==name){
					return true;
				}
			}
			return false;
		}

		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,result);
			this.name=data.name;
			this.version=data.version?data.version:0;
			var arr=data.property;
			for(var i=0,len=arr.length;i<len;i++){
				this.vars.push(ExpressionFactory$1.createExpression(arr[i]));
			}
			arr=data.events;
			for(i=0,len=arr.length;i<len;i++){
				this.functions.push(ExpressionFactory$1.createExpression(arr[i]));
			}
		}

		__proto.addFunction=function(func){
			this.functions.push(func);
		}

		__proto.removeFunction=function(func){
			this.functions.splice(this.functions.indexOf(func),1);
		}

		__proto.addVar=function(v){
			this.vars.push(v);
			this.event.event('AddVar',v);
		}

		__proto.removeVar=function(v){
			this.vars.splice(this.vars.indexOf(v),1);
			this.event.event('RemoveVar',v);
		}

		__proto.toJson=function(result){
			var obj={name:this.name,type:this.type,version:this.version};
			var arr=[];
			for(var i=0,len=this.vars.length;i<len;i++){
				arr.push(this.vars[i].toJson());
			}
			obj.vars=arr;
			arr=[];
			for(i=0,len=this.functions.length;i<len;i++){
				arr.push(this.functions[i].toJson());
			}
			obj.functions=arr;
			return obj
		}

		__proto.toCode=function(results,map,sourceMap){
			results.push('class '+this.name);
			results.push("{");
			results.push('constructor(owner)');
			results.push("{");
			results.push("this.owner=owner;");
			var varNames=[];
			if (map){
				map.push("类定义 "+this.name);
				sourceMap.addLine(0);
				sourceMap.addMappingPoint(0,map.length-1,0);
				map.push("构造函数");
				sourceMap.addLine(4);
				sourceMap.addMappingPoint(0,map.length-1,0);
			}
			for(var i=0,len=this.vars.length;i<len;i++){
				var name=this.vars[i].name;
				results.push(this.vars[i].toString());
				varNames.push('"'+name+'"');
				if (map){
					map.push("成员变量定义 "+name);
					sourceMap.addLine();
					sourceMap.addMappingPoint(0,map.length-1,0);
				}
			}
			results.push("this._vars=["+varNames.join(',')+"];");
			results.push("}");
			results.push("addEvents()");
			results.push("{");
			for(i=0,len=this.functions.length;i<len;i++){
				var func=this.functions[i];
				if(func.configName==/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Dispose*/'dispose')continue ;
				if(func.configName==/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Init*/'init'){
					results.push("this."+func.functionName+'();');
				}
				else if(func.desc){
					results.push(func.getOwnerName()+'.on("'+func.customevent+'",this,this.'+func.functionName+');');
				}
			}
			results.push("}");
			results.push("removeEvents()");
			results.push("{");
			for(i=0,len=this.functions.length;i<len;i++){
				func=this.functions[i];
				if(func.configName==/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Init*/'init')continue ;
				if(func.configName==/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Dispose*/'dispose'){
					results.push("this."+func.functionName+'();');
					}else if(func.desc){
					results.push(func.getOwnerName()+'.off("'+func.customevent+'",this,this.'+func.functionName+');');
				}
			}
			results.push("}");
			len=this.functions.length;
			for(i=0;i<len;i++){
				this.functions[i].toCode(results,map,sourceMap);
			}
			results.push("}");
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Class*/'class';
		});

		ClassExp.AddVar='AddVar';
		ClassExp.RemoveVar='RemoveVar';
		return ClassExp;
	})(BaseExp$1)


	//class laya.ide.plugin.newScript.G_EXP.FunctionExp extends laya.ide.plugin.newScript.G_EXP.BaseExp
	var FunctionExp$1=(function(_super){
		function FunctionExp(){
			this.functionName=null;
			this.condition=null;
			this.desc=null;
			this.configName=null;
			this.customevent=null;
			this.ownerName=null;
			this.body=null;
			this.vars=new Array;
			this.bodys=new Array;
			FunctionExp.__super.call(this);
		}

		__class(FunctionExp,'laya.ide.plugin.newScript.G_EXP.FunctionExp',_super,'FunctionExp$1');
		var __proto=FunctionExp.prototype;
		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,result);
			this.functionName=data.propID+data.id;
			this.configName=data.propID;
			this.ownerName=data.ownerName;
			if(!data.customevent){
				this.customevent=this.configName;
			}
			else{
				this.customevent=data.customevent;
			}
			this.desc=this._eventLib[this.configName];
			if(data.condition){
				this.condition=ExpressionFactory$1.createExpression(data.condition);
			}
			if(data.vars){
				var arr=data.vars;
				for(var i=0,len=arr.length;i<len;i++){
					this.vars.push(ExpressionFactory$1.createExpression(arr[i]));
				}
			}
			if(data.bodys){
				arr=data.bodys;
				for(i=0,len=arr.length;i<len;i++){
					var tempbody=ExpressionFactory$1.createExpressionByType(/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Body*/'body');
					tempbody.read(arr[i],null);
					this.bodys.push(tempbody);
				}
			}
			else{
				tempbody=ExpressionFactory$1.createExpressionByType(/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Body*/'body');
				tempbody.read(data,null);
				this.bodys.push(tempbody);
			}
			this.body=this.bodys[0];
		}

		__proto.removeBody=function(b,isRecovery){
			(isRecovery===void 0)&& (isRecovery=true);
			var index=this.bodys.indexOf(b);
			if(index>=0){
				this.bodys.splice(index,1);
				if(isRecovery){
					b.recovery();
				}
			}
		}

		__proto.addBody=function(b){
			this.bodys.push(b);
		}

		__proto.addVar=function(v){
			this.vars.push(v);
		}

		__proto.removeVar=function(v){
			this.vars.splice(this.vars.indexOf(v),1);
		}

		__proto.auto=function(name,event){
			(event===void 0)&& (event='');
			this.functionName=name;
			this.customevent=this.configName=event;
			this.ownerName='';
			this.body=ExpressionFactory$1.createExpressionByType(/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Body*/'body');
			this.bodys.push(this.body);
			this.desc=this._eventLib[event];
		}

		__proto.toJson=function(result){
			var obj={name:this.functionName,type:this.type,customevent:this.customevent};
			var arr=[];
			for(var i=0,len=this.vars.length;i<len;i++){
				arr.push(this.vars[i].toJson());
			}
			obj.vars=arr;
			if(this.ownerName){
				obj.ownerName=this.ownerName;
			}
			if(this.configName){
				obj.event=this.configName;
			}
			if(this.condition){
				obj.condition=this.condition.toJson();
			}
			arr=[];
			for(i=0,len=this.bodys.length;i<len;i++){
				if(i>0&&this.bodys[i].isEmpty()){
					continue ;
				}
				arr.push(this.bodys[i].toJson({}));
			}
			obj.bodys=arr;
			return obj;
		}

		__proto.toCode=function(results,map,sourceMap){
			if(this.desc && this.desc.param){
				results.push(this.functionName+"("+this.desc.param.join(',')+")");
			}
			else{
				results.push(this.functionName+"()");
			}
			if (map){
				map.push("函数定义"+this.customevent);
				sourceMap.addLine(results.length-1);
				sourceMap.addMappingPoint(0,map.length-1,0);
			}
			results.push("{");
			for(var i=0,len=this.vars.length;i<len;i++){
				results.push(this.vars[i].toStringByLocal());
			}
			if(this.condition){
				results.push('if('+this.condition.toString()+')');
				results.push('{');
			}
			this.body.toChildCode(results,map,sourceMap);
			if(this.condition){
				results.push('}');
			}
			results.push("}");
		}

		__proto.getOwnerName=function(){
			if(this.ownerName){
				return this.ownerName;
			}
			if(this.desc){
				return this.desc.target
			}
			else{
				return '';
			}
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Function*/'event';
		});

		return FunctionExp;
	})(BaseExp$1)


	//class laya.ide.plugin.newScript.G_EXP.FunctionExpData extends laya.ide.plugin.newScript.G_EXP.CallExpData
	var FunctionExpData$1=(function(_super){
		function FunctionExpData(){
			this.target=null;
			this.eventName=null;
			FunctionExpData.__super.call(this);
		}

		__class(FunctionExpData,'laya.ide.plugin.newScript.G_EXP.FunctionExpData',_super,'FunctionExpData$1');
		return FunctionExpData;
	})(CallExpData$1)


	//class laya.ide.plugin.newScript.G_EXP.VarExp extends laya.ide.plugin.newScript.G_EXP.BaseExp
	var VarExp$1=(function(_super){
		function VarExp(){
			this.name=null;
			this.value=null;
			this.valueType=null;
			VarExp.__super.call(this);
		}

		__class(VarExp,'laya.ide.plugin.newScript.G_EXP.VarExp',_super,'VarExp$1');
		var __proto=VarExp.prototype;
		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,result);
			this.name=data.name;
			this.value=data.value;
			this.valueType=data.valueType?data.valueType:/*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Code*/'code';
		}

		__proto.toJson=function(result){
			return {name:this.name,type:this.type,value:this.value,valueType:this.valueType};
		}

		__proto.toString=function(){
			if(ExpressionFactory$1.checkIsCode(this.valueType)){
				return "this."+this.name+"="+this.value+";//@id:"+this.id;
			}
			else{
				return "this."+this.name+'="'+this.value+';//@id:'+this.id;
			}
		}

		__proto.toStringByLocal=function(){
			if(ExpressionFactory$1.checkIsCode(this.valueType)){
				return "var "+this.name+"="+this.value+";"
			}
			else{
				return "var "+this.name+'="'+this.value+'";'
			}
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Var*/'var';
		});

		return VarExp;
	})(BaseExp$1)


	//class laya.ide.plugin.as3plugin.G_EXP.BooleanExp extends laya.ide.plugin.as3plugin.G_EXP.CodeExp
	var BooleanExp=(function(_super){
		function BooleanExp(){
			BooleanExp.__super.call(this);
		}

		__class(BooleanExp,'laya.ide.plugin.as3plugin.G_EXP.BooleanExp',_super);
		var __proto=BooleanExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Bool*/'bool';
		});

		return BooleanExp;
	})(CodeExp)


	//class laya.ide.plugin.as3plugin.G_EXP.CallBodyExp extends laya.ide.plugin.as3plugin.G_EXP.CallExp
	var CallBodyExp=(function(_super){
		function CallBodyExp(){
			this.bodyExp=null;
			CallBodyExp.__super.call(this);
		}

		__class(CallBodyExp,'laya.ide.plugin.as3plugin.G_EXP.CallBodyExp',_super);
		var __proto=CallBodyExp.prototype;
		__proto.read=function(data){
			_super.prototype.read.call(this,data);
			this.bodyExp=ExpressionFactory.createExpression(data.body);
		}

		__proto.toBodyCode=function(results){
			results.push('{');
			this.bodyExp.toCode(results);
			results.push('}');
		}

		__proto.toJson=function(result){
			var obj=_super.prototype.toJson.call(this,result);
			obj.body=this.bodyExp.toJson();
			return obj;
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Callbody*/'callbody';
		});

		return CallBodyExp;
	})(CallExp)


	//class laya.ide.plugin.as3plugin.G_EXP.NumberExp extends laya.ide.plugin.as3plugin.G_EXP.CodeExp
	var NumberExp=(function(_super){
		function NumberExp(){
			NumberExp.__super.call(this);
		}

		__class(NumberExp,'laya.ide.plugin.as3plugin.G_EXP.NumberExp',_super);
		var __proto=NumberExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Number*/'number';
		});

		return NumberExp;
	})(CodeExp)


	//class laya.ide.plugin.as3plugin.G_EXP.ObjectExp extends laya.ide.plugin.as3plugin.G_EXP.CodeExp
	var ObjectExp=(function(_super){
		function ObjectExp(){
			ObjectExp.__super.call(this);
		}

		__class(ObjectExp,'laya.ide.plugin.as3plugin.G_EXP.ObjectExp',_super);
		var __proto=ObjectExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Object*/'object';
		});

		return ObjectExp;
	})(CodeExp)


	//class laya.ide.plugin.as3plugin.G_EXP.StringExp extends laya.ide.plugin.as3plugin.G_EXP.CodeExp
	var StringExp=(function(_super){
		function StringExp(){
			StringExp.__super.call(this);
		}

		__class(StringExp,'laya.ide.plugin.as3plugin.G_EXP.StringExp',_super);
		var __proto=StringExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_String*/'string';
		});

		return StringExp;
	})(CodeExp)


	//class laya.ide.plugin.newScript.G_EXP.BooleanExp extends laya.ide.plugin.newScript.G_EXP.CodeExp
	var BooleanExp$1=(function(_super){
		function BooleanExp(){
			BooleanExp.__super.call(this);
		}

		__class(BooleanExp,'laya.ide.plugin.newScript.G_EXP.BooleanExp',_super,'BooleanExp$1');
		var __proto=BooleanExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Bool*/'bool';
		});

		return BooleanExp;
	})(CodeExp$1)


	//class laya.ide.plugin.newScript.G_EXP.CallBodyExp extends laya.ide.plugin.newScript.G_EXP.CallExp
	var CallBodyExp$1=(function(_super){
		function CallBodyExp(){
			this.bodyExp=null;
			CallBodyExp.__super.call(this);
		}

		__class(CallBodyExp,'laya.ide.plugin.newScript.G_EXP.CallBodyExp',_super,'CallBodyExp$1');
		var __proto=CallBodyExp.prototype;
		__proto.read=function(data,result){
			_super.prototype.read.call(this,data,null);
			this.bodyExp=ExpressionFactory$1.createExpression(data.body);
		}

		__proto.toBodyCode=function(results){
			results.push('{');
			this.bodyExp.toCode(results,null,null);
			results.push('}');
		}

		__proto.toJson=function(result){
			var obj=_super.prototype.toJson.call(this,result);
			obj.body=this.bodyExp.toJson();
			return obj;
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Callbody*/'callbody';
		});

		return CallBodyExp;
	})(CallExp$1)


	//class laya.ide.plugin.newScript.G_EXP.IfExp extends laya.ide.plugin.newScript.G_EXP.BlockExp
	var IfExp=(function(_super){
		function IfExp(){
			IfExp.__super.call(this);
		}

		__class(IfExp,'laya.ide.plugin.newScript.G_EXP.IfExp',_super);
		var __proto=IfExp.prototype;
		__proto.toCode=function(results,map,sourceMap){
			var t=results.length;
			results.push("if("+this.condition.toString()+")//@id:"+this.id);
			for (var i=0;i < this.bodys.length;i++){
				this.bodys[i].toCode(results,null,null);
			}
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_If*/'condition';
		});

		return IfExp;
	})(BlockExp)


	//class laya.ide.plugin.newScript.G_EXP.NumberExp extends laya.ide.plugin.newScript.G_EXP.CodeExp
	var NumberExp$1=(function(_super){
		function NumberExp(){
			NumberExp.__super.call(this);
		}

		__class(NumberExp,'laya.ide.plugin.newScript.G_EXP.NumberExp',_super,'NumberExp$1');
		var __proto=NumberExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Number*/'number';
		});

		return NumberExp;
	})(CodeExp$1)


	//class laya.ide.plugin.newScript.G_EXP.ObjectExp extends laya.ide.plugin.newScript.G_EXP.CodeExp
	var ObjectExp$1=(function(_super){
		function ObjectExp(){
			ObjectExp.__super.call(this);
		}

		__class(ObjectExp,'laya.ide.plugin.newScript.G_EXP.ObjectExp',_super,'ObjectExp$1');
		var __proto=ObjectExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Object*/'object';
		});

		return ObjectExp;
	})(CodeExp$1)


	//class laya.ide.plugin.newScript.G_EXP.WaitExp extends laya.ide.plugin.newScript.G_EXP.BlockExp
	var WaitExp=(function(_super){
		function WaitExp(){
			WaitExp.__super.call(this);
		}

		__class(WaitExp,'laya.ide.plugin.newScript.G_EXP.WaitExp',_super);
		var __proto=WaitExp.prototype;
		__proto.toCode=function(results,map,sourceMap){
			var t=results.length;
			var arr=[2,0];
			var tempfun="__fun"+t;
			arr.push(tempfun+"()");
			for (var i=0;i < this.bodys.length;i++){
				this.bodys[i].toCode(arr,null,null);
			}
			results.splice.apply(results,arr);
			results.push("MakerSystemAction.beginDelay("+this.condition.toString()+",this,"+this.conditionExt1.toString()+",this."+tempfun+");//@id:"+this.id);
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_Wait*/'delay';
		});

		return WaitExp;
	})(BlockExp)


	//class laya.ide.plugin.newScript.G_EXP.WhileExp extends laya.ide.plugin.newScript.G_EXP.BlockExp
	var WhileExp=(function(_super){
		function WhileExp(){
			WhileExp.__super.call(this);
		}

		__class(WhileExp,'laya.ide.plugin.newScript.G_EXP.WhileExp',_super);
		var __proto=WhileExp.prototype;
		__proto.toCode=function(results,map,sourceMap){
			var t=results.length;
			results.push("var _i"+t+" = "+this.condition.toString()+";//@id:"+this.id);
			results.push("while(_i"+t+"--)//@id:"+this.id);
			if (map){
				map.push("   while(_i"+t+"--");
				sourceMap.addLine(results.length-1);
				sourceMap.addMappingPoint(0,map.length-1,0);
			}
			for (var i=0;i < this.bodys.length;i++){
				this.bodys[i].toCode(results,map,sourceMap);
			}
		}

		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_While*/'while';
		});

		return WhileExp;
	})(BlockExp)


	//class laya.ide.plugin.newScript.G_EXP.StringExp extends laya.ide.plugin.newScript.G_EXP.CodeExp
	var StringExp$1=(function(_super){
		function StringExp(){
			StringExp.__super.call(this);
		}

		__class(StringExp,'laya.ide.plugin.newScript.G_EXP.StringExp',_super,'StringExp$1');
		var __proto=StringExp.prototype;
		__getset(0,__proto,'type',function(){
			return /*laya.ide.plugin.newScript.G_EXP.ExpressionFactory.Type_String*/'string';
		});

		return StringExp;
	})(CodeExp$1)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuMaterial extends laya.display.Sprite
	var TreeMenuMaterial=(function(_super){
		function TreeMenuMaterial(){
			this._classItem=null;
			this._pool=null;
			this._childMenu=null;
			this.parentMenu=null;
			this.root=null;
			this._array=null;
			this.itemLength=0;
			this._currentRollItem=null;
			this._contentBox=null;
			this._panel=null;
			this.itemWidth=0;
			this._topRoll=null;
			this._bottomRoll=null;
			this._topArrow=null;
			this._bottomArrow=null;
			this._lastMouseX=NaN;
			this._lastMouseY=NaN;
			this._stopTime=0;
			this._childHeight=0;
			this._childItems=new Array;
			TreeMenuMaterial.__super.call(this);
			this.initData();
		}

		__class(TreeMenuMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuMaterial',_super);
		var __proto=TreeMenuMaterial.prototype;
		__proto.initData=function(){
			this._topRoll=new Image();
			this._topRoll.visible=false;
			this._topRoll.skin="comp/blank.png";
			this._topRoll.height=15;
			this.addChild(this._topRoll);
			this._topRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onArrowOver,["top"]);
			this._topRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onArrowOut,["top"]);
			this._topArrow=new Clip();
			this._topArrow.skin="comp/clip_tree.png";
			this._topArrow.clipY=2;
			this._topArrow.index=0;
			this._topArrow.scale(0.6,0.6);
			this._topRoll.addChild(this._topArrow);
			this._topArrow.anchorX=this._topArrow.anchorY=0.5;
			this._topArrow.rotation=-90;
			this._topArrow.centerX=this._topArrow.centerY=0.5;
			this._bottomRoll=new Image();
			this._bottomRoll.visible=false;
			this._bottomRoll.skin="comp/blank.png";
			this._bottomRoll.height=15;
			this.addChild(this._bottomRoll);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onArrowOver,["bottom"]);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onArrowOut,["bottom"]);
			this._bottomArrow=new Clip();
			this._bottomArrow.skin="comp/clip_tree.png";
			this._bottomArrow.clipY=2;
			this._bottomArrow.index=0;
			this._bottomArrow.scale(0.6,0.6);
			this._bottomRoll.addChild(this._bottomArrow);
			this._bottomArrow.anchorX=this._bottomArrow.anchorY=0.5;
			this._bottomArrow.rotation=90;
			this._bottomArrow.centerX=this._bottomArrow.centerY=0.5;
			this._panel=new Panel();
			this._panel.width=200;
			this._panel.vScrollBarSkin="";
			this._panel.vScrollBar.touchScrollEnable=true;
			this.addChild(this._panel);
			this._contentBox=new Box();
			this._panel.addChild(this._contentBox);
		}

		__proto.onArrowOut=function(type){
			Laya.timer.clear(this,this.onRollLoop);
		}

		__proto.onRollLoop=function(type){
			if(type=="top")
				this._panel.vScrollBar.value-=2;
			else
			this._panel.vScrollBar.value+=2;
		}

		__proto.onArrowOver=function(type){
			Laya.timer.frameLoop(1,this,this.onRollLoop,[type]);
		}

		__proto.createItem=function(){
			var item=this._pool.getObject();
			item.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			item.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
			item.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.onMouseClick);
			this._contentBox.addChild(item);
			return item;
		}

		__proto.removeItem=function(item){
			item.off(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			item.off(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
			item.off(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.onMouseClick);
			item.removeSelf();
			item.clear(this._pool);
		}

		/**
		*wlb1111
		*@param e
		*
		*/
		__proto.onMouseClick=function(e){
			this.clickItem(e.currentTarget);
		}

		__proto.onRollOut=function(e){
			this.currentRollItem=null;
		}

		__proto.onRollOver=function(e){
			this.currentRollItem=e.currentTarget;
		}

		__proto.onCheckClick=function(){
			var nowMouseX=this.mouseX;
			var nowMouseY=this.mouseY;
			if(this._lastMouseX==nowMouseX && this._lastMouseY==nowMouseY){
				if(Browser.now()-this._stopTime>100){
					Laya.timer.clear(this,this.onCheckClick);
					this.clickItem(this._currentRollItem);
				}
			}
			else{
				this._lastMouseX=nowMouseX;
				this._lastMouseY=nowMouseY;
				this._stopTime=Browser.now();
			}
		}

		__proto.clickItem=function(value){
			if(value.dataSource.hasChild){
				if(this.root){
					this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
				}
				Laya.timer.once(50,this,this.waitClose);
				this.showChildMenu(value);
			}
			else{
				this.chooseItem(value.dataSource);
			}
		}

		//当选择时
		__proto.chooseItem=function(data){
			if(this.parentMenu){
				this.removeSelf();
				this.parentMenu.chooseItem(data);
			}
			else{
				this.event(/*laya.events.Event.SELECT*/"select",data);
			}
		}

		__proto.showChildMenu=function(item){
			var childMenu=this.childMenu;
			childMenu.showByXY(this.root,0,0,item.dataSource.children);
			var globalxy=item.localToGlobal(TreeMenuMaterial.zeroPoint.setTo(0,0));
			globalxy=this.root.globalToLocal(globalxy);
			if(globalxy.x+(this._width+childMenu.itemWidth)<this.root.width)
				childMenu.showByXY(this.root,globalxy.x+this._width,globalxy.y,item.dataSource.children);
			else
			childMenu.showByXY(this.root,globalxy.x-childMenu.itemWidth,globalxy.y,item.dataSource.children);
		}

		__proto.showByXY=function(parent,x,y,array){
			this.root=parent;
			this.array=array;
			var xx=Math.min(parent.width-this.itemWidth,x);
			var yy=Math.min((parent.height-130)-this._height,y);
			this.pos(xx,yy);
			if(parent.contains(this))
				return;
			else
			parent.addChild(this);
		}

		__proto.updateView=function(){
			for(var i=0;i<this.itemLength;i++){
				var item=this._childItems [i];
				item.pos(0,i*30);
				item.size(this.itemWidth,30);
				item.dataSource=this._array[i];
			};
			var maxItemNum=Math.floor(this.root.height/30)-6;
			if(this.itemLength<maxItemNum){
				this._height=this.itemLength*30;
				this._panel.height=this._height;
				this._topRoll.visible=false;
				this._bottomRoll.visible=false;
			}
			else{
				this._height=maxItemNum*30;
				this._panel.height=this._height;
				this._topRoll.visible=true;
				this._bottomRoll.visible=true;
			}
			this._topRoll.x=this._bottomRoll.x=this._panel.x;
			this._topRoll.y=this._panel.y-15;
			this._bottomRoll.y=this._panel.height;
			this._topRoll.width=this._bottomRoll.width=this._contentBox.width=this._panel.width=this.itemWidth;
			this._contentBox.height=this.itemLength*30;
			this._panel.refresh();
		}

		__proto.removeSelf=function(){
			if(this._childMenu){
				this._childMenu.removeSelf();
			}
			return laya.display.Node.prototype.removeSelf.call(this);
		}

		__proto.show=function(parent,array){
			if(this.root){
				this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
			}
			this.showByXY(parent,parent.mouseX,parent.mouseY,array);
			Laya.timer.callLater(this,this.waitClose);
		}

		__proto.waitClose=function(){
			this.root.once(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
		}

		__proto.onRemoveSelf=function(e){
			this.removeSelf();
		}

		__getset(0,__proto,'currentRollItem',function(){
			return this._currentRollItem;
			},function(value){
			this._currentRollItem=value;
			if(value && value.dataSource.hasChild){
				this._stopTime=Browser.now();
				Laya.timer.frameLoop(1,this,this.onCheckClick);
			}
			else{
				Laya.timer.clear(this,this.onCheckClick);
			}
		});

		__getset(0,__proto,'array',null,function(value){
			this._array=value||[];
			this.itemWidth=0;
			var oldLen=this._childItems.length;
			var nowLen=value.length;
			this.itemLength=nowLen;
			var i=0;
			if(nowLen<oldLen){
				for(i=nowLen;i<oldLen;i++){
					this.removeItem(this._childItems[i]);
				}
				this._childItems.length=nowLen;
			}
			else if(nowLen>oldLen){
				for(i=oldLen;i<nowLen;i++){
					this._childItems.push(this.createItem());
				}
			};
			var tempWidth=NaN;
			for(var i=0;i<value.length;i++){
				tempWidth=0;
				for(var j=0;j<value[i].name.length;j++){
					var reg=/^[a-zA-Z0-9]*$/;
					var nameStr=value[i].name;
					if(reg.test(nameStr.charAt(j)))
						tempWidth+=8;
					else
					tempWidth+=16;
				}
				tempWidth+=20;
				this.itemWidth=Math.max(tempWidth,this.itemWidth);
			}
			if(this.itemWidth<120)
				this.itemWidth=120;
			for(i=0;i<value.length;i++){
				var item=this._childItems[i];
				item.width=this.itemWidth;
			}
			this.updateView();
		});

		__getset(0,__proto,'classItem',null,function(value){
			this._classItem=value||TreeMenuMaterial;
			this._pool=new ObjectPool(this._classItem);
		});

		__getset(0,__proto,'childMenu',function(){
			if(!this._childMenu){
				this._childMenu=new TreeMenuMaterial;
				this._childMenu._pool=this._pool;
				this._childMenu.width=this._width;
				this._childMenu.parentMenu=this;
			}
			return this._childMenu;
		});

		__static(TreeMenuMaterial,
		['zeroPoint',function(){return this.zeroPoint=new Point;}
		]);
		return TreeMenuMaterial;
	})(Sprite)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuMaterial_GC extends laya.display.Sprite
	var TreeMenuMaterial_GC=(function(_super){
		function TreeMenuMaterial_GC(value,parent,clickFunction){
			this._pool=null;
			this.root=null;
			this._contentBox=null;
			this._panel=null;
			this._topRoll=null;
			this._bottomRoll=null;
			this._topArrow=null;
			this._bottomArrow=null;
			this.value=null;
			this.clickFunction=null;
			TreeMenuMaterial_GC.__super.call(this);
			this.value=value;
			this.clickFunction=clickFunction;
			this.initTopRoll();
			this.initTopArrow();
			this.initBottomRoll();
			this.initBottomArrow();
			this.initPanel();
			this.initContentBox();
		}

		__class(TreeMenuMaterial_GC,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuMaterial_GC',_super);
		var __proto=TreeMenuMaterial_GC.prototype;
		/**
		*初始化上卷动条
		*/
		__proto.initTopRoll=function(){
			this._topRoll=new Image();
			this._topRoll.visible=false;
			this._topRoll.skin="comp/blank.png";
			this._topRoll.height=15;
			this.addChild(this._topRoll);
			this._topRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onTopArrowOver,["top"]);
			this._topRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onTopArrowOut,["top"]);
		}

		__proto.onRollLoop=function(type){
			if(type=="top")
				this._panel.vScrollBar.value-=2;
			else
			this._panel.vScrollBar.value+=2;
		}

		__proto.onTopArrowOver=function(type){
			Laya.timer.frameLoop(1,this,this.onRollLoop,[type]);
		}

		__proto.onTopArrowOut=function(type){
			Laya.timer.clear(this,this.onRollLoop);
		}

		/**
		*初始化上卷动箭头
		*/
		__proto.initTopArrow=function(){
			this._topArrow=new Clip();
			this._topArrow.skin="comp/clip_tree.png";
			this._topArrow.clipY=2;
			this._topArrow.index=0;
			this._topArrow.scale(0.6,0.6);
			this._topRoll.addChild(this._topArrow);
			this._topArrow.anchorX=this._topArrow.anchorY=0.5;
			this._topArrow.rotation=-90;
			this._topArrow.centerX=this._topArrow.centerY=0.5;
		}

		/**
		*初始化下卷动条
		*/
		__proto.initBottomRoll=function(){
			this._bottomRoll=new Image();
			this._bottomRoll.visible=false;
			this._bottomRoll.skin="comp/blank.png";
			this._bottomRoll.height=15;
			this.addChild(this._bottomRoll);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onBottomArrowOver,["bottom"]);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onBottomArrowOut,["bottom"]);
		}

		__proto.onBottomArrowOver=function(type){
			Laya.timer.frameLoop(1,this,this.onRollLoop,[type]);
		}

		__proto.onBottomArrowOut=function(type){
			Laya.timer.clear(this,this.onRollLoop);
		}

		/**
		*初始化下卷动箭头
		*/
		__proto.initBottomArrow=function(){
			this._bottomArrow=new Clip();
			this._bottomArrow.skin="comp/clip_tree.png";
			this._bottomArrow.clipY=2;
			this._bottomArrow.index=0;
			this._bottomArrow.scale(0.6,0.6);
			this._bottomRoll.addChild(this._bottomArrow);
			this._bottomArrow.anchorX=this._bottomArrow.anchorY=0.5;
			this._bottomArrow.rotation=90;
			this._bottomArrow.centerX=this._bottomArrow.centerY=0.5;
		}

		/**
		*初始化菜单页面
		*/
		__proto.initPanel=function(){
			this._panel=new Panel();
			this._panel.width=200;
			this._panel.vScrollBarSkin="";
			this._panel.vScrollBar.touchScrollEnable=true;
			this.addChild(this._panel);
		}

		/**
		*初始化内容盒子
		*/
		__proto.initContentBox=function(){
			this._contentBox=new Box();
			this._panel.addChild(this._contentBox);
		}

		return TreeMenuMaterial_GC;
	})(Sprite)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuMaterial_GC_Other extends laya.display.Sprite
	var TreeMenuMaterial_GC_Other=(function(_super){
		function TreeMenuMaterial_GC_Other(){
			this._classItem=null;
			this._pool=null;
			this._childMenu=null;
			this.parentMenu=null;
			this.root=null;
			this._array=null;
			this.itemLength=0;
			this._currentRollItem=null;
			this._contentBox=null;
			this._panel=null;
			this.itemWidth=0;
			this._topRoll=null;
			this._bottomRoll=null;
			this._topArrow=null;
			this._bottomArrow=null;
			this._lastMouseX=NaN;
			this._lastMouseY=NaN;
			this._stopTime=0;
			this._childHeight=0;
			this._childItems=new Array;
			TreeMenuMaterial_GC_Other.__super.call(this);
			this.initData();
		}

		__class(TreeMenuMaterial_GC_Other,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuMaterial_GC_Other',_super);
		var __proto=TreeMenuMaterial_GC_Other.prototype;
		__proto.initData=function(){
			this._topRoll=new Image();
			this._topRoll.visible=false;
			this._topRoll.skin="comp/blank.png";
			this._topRoll.height=15;
			this.addChild(this._topRoll);
			this._topRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onArrowOver,["top"]);
			this._topRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onArrowOut,["top"]);
			this._topArrow=new Clip();
			this._topArrow.skin="comp/clip_tree.png";
			this._topArrow.clipY=2;
			this._topArrow.index=0;
			this._topArrow.scale(0.6,0.6);
			this._topRoll.addChild(this._topArrow);
			this._topArrow.anchorX=this._topArrow.anchorY=0.5;
			this._topArrow.rotation=-90;
			this._topArrow.centerX=this._topArrow.centerY=0.5;
			this._bottomRoll=new Image();
			this._bottomRoll.visible=false;
			this._bottomRoll.skin="comp/blank.png";
			this._bottomRoll.height=15;
			this.addChild(this._bottomRoll);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onArrowOver,["bottom"]);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onArrowOut,["bottom"]);
			this._bottomArrow=new Clip();
			this._bottomArrow.skin="comp/clip_tree.png";
			this._bottomArrow.clipY=2;
			this._bottomArrow.index=0;
			this._bottomArrow.scale(0.6,0.6);
			this._bottomRoll.addChild(this._bottomArrow);
			this._bottomArrow.anchorX=this._bottomArrow.anchorY=0.5;
			this._bottomArrow.rotation=90;
			this._bottomArrow.centerX=this._bottomArrow.centerY=0.5;
			this._panel=new Panel();
			this._panel.width=200;
			this._panel.vScrollBarSkin="";
			this._panel.vScrollBar.touchScrollEnable=true;
			this.addChild(this._panel);
			this._contentBox=new Box();
			this._panel.addChild(this._contentBox);
		}

		__proto.onArrowOut=function(type){
			Laya.timer.clear(this,this.onRollLoop);
		}

		__proto.onRollLoop=function(type){
			if(type=="top")
				this._panel.vScrollBar.value-=2;
			else
			this._panel.vScrollBar.value+=2;
		}

		__proto.onArrowOver=function(type){
			Laya.timer.frameLoop(1,this,this.onRollLoop,[type]);
		}

		__proto.createItem=function(){
			var item=this._pool.getObject();
			item.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			item.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
			item.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.onMouseClick);
			this._contentBox.addChild(item);
			return item;
		}

		__proto.removeItem=function(item){
			item.off(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			item.off(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
			item.off(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.onMouseClick);
			item.removeSelf();
			item.clear(this._pool);
		}

		/**
		*wlb1111
		*@param e
		*
		*/
		__proto.onMouseClick=function(e){
			this.clickItem(e.currentTarget);
		}

		__proto.onRollOut=function(e){
			this.currentRollItem=null;
		}

		__proto.onRollOver=function(e){
			this.currentRollItem=e.currentTarget;
		}

		__proto.onCheckClick=function(){
			var nowMouseX=this.mouseX;
			var nowMouseY=this.mouseY;
			if(this._lastMouseX==nowMouseX && this._lastMouseY==nowMouseY){
				if(Browser.now()-this._stopTime>100){
					Laya.timer.clear(this,this.onCheckClick);
					this.clickItem(this._currentRollItem);
				}
			}
			else{
				this._lastMouseX=nowMouseX;
				this._lastMouseY=nowMouseY;
				this._stopTime=Browser.now();
			}
		}

		__proto.clickItem=function(value){
			if(value.dataSource.hasChild){
				if(this.root){
					this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
				}
				Laya.timer.once(50,this,this.waitClose);
				this.showChildMenu(value);
			}
			else{
				this.chooseItem(value.dataSource);
			}
		}

		//当选择时
		__proto.chooseItem=function(data){
			if(this.parentMenu){
				this.removeSelf();
				this.parentMenu.chooseItem(data);
			}
			else{
				this.event(/*laya.events.Event.SELECT*/"select",data);
			}
		}

		__proto.showChildMenu=function(item){
			var childMenu=this.childMenu;
			childMenu.showByXY(this.root,0,0,item.dataSource.children);
			var globalxy=item.localToGlobal(TreeMenuMaterial_GC_Other.zeroPoint.setTo(0,0));
			globalxy=this.root.globalToLocal(globalxy);
			if(globalxy.x+(this._width+childMenu.itemWidth)<this.root.width)
				childMenu.showByXY(this.root,globalxy.x+this._width,globalxy.y,item.dataSource.children);
			else
			childMenu.showByXY(this.root,globalxy.x-childMenu.itemWidth,globalxy.y,item.dataSource.children);
		}

		__proto.showByXY=function(parent,x,y,array){
			this.root=parent;
			this.array=array;
			var xx=Math.min(parent.width-this.itemWidth,x);
			var yy=Math.min((parent.height-130)-this._height,y);
			this.pos(xx,yy);
			if(parent.contains(this))
				return;
			else
			parent.addChild(this);
		}

		__proto.showByXYBegin=function(parent,x,y,array){
			this.root=parent;
			this.array=array;
			var xx=Math.min(parent.width-this.itemWidth,x);
			var yy=Math.min((parent.height-130)-this._height,y);
			this.pos(xx,y);
			console.log("*****************",xx,yy,x,y);
			if(parent.contains(this))
				return;
			else
			parent.addChild(this);
		}

		__proto.updateView=function(){
			for(var i=0;i<this.itemLength;i++){
				var item=this._childItems [i];
				item.pos(0,i*30);
				item.size(this.itemWidth,30);
				item.dataSource=this._array[i];
			};
			var maxItemNum=Math.floor(this.root.height/30)-6;
			if(this.itemLength<maxItemNum){
				this._height=this.itemLength*30;
				this._panel.height=this._height;
				this._topRoll.visible=false;
				this._bottomRoll.visible=false;
			}
			else{
				this._height=maxItemNum*30;
				this._panel.height=this._height;
				this._topRoll.visible=true;
				this._bottomRoll.visible=true;
			}
			this._topRoll.x=this._bottomRoll.x=this._panel.x;
			this._topRoll.y=this._panel.y-15;
			this._bottomRoll.y=this._panel.height;
			this._topRoll.width=this._bottomRoll.width=this._contentBox.width=this._panel.width=this.itemWidth;
			this._contentBox.height=this.itemLength*30;
			this._panel.refresh();
		}

		__proto.removeSelf=function(){
			if(this._childMenu){
				this._childMenu.removeSelf();
			}
			return laya.display.Node.prototype.removeSelf.call(this);
		}

		__proto.show=function(parent,array){
			if(this.root){
				this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
			}
			this.showByXY(parent,parent.mouseX,parent.mouseY,array);
			Laya.timer.callLater(this,this.waitClose);
		}

		__proto.show_GC=function(parent,array){
			if(this.root){
				this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
			}
			this.showByXYBegin(parent,parent.mouseX,parent.mouseY,array);
			Laya.timer.callLater(this,this.waitClose);
		}

		__proto.waitClose=function(){
			this.root.once(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
		}

		__proto.onRemoveSelf=function(e){
			this.removeSelf();
		}

		__getset(0,__proto,'currentRollItem',function(){
			return this._currentRollItem;
			},function(value){
			this._currentRollItem=value;
			if(value && value.dataSource.hasChild){
				this._stopTime=Browser.now();
				Laya.timer.frameLoop(1,this,this.onCheckClick);
			}
			else{
				Laya.timer.clear(this,this.onCheckClick);
			}
		});

		__getset(0,__proto,'array',null,function(value){
			this._array=value||[];
			this.itemWidth=0;
			var oldLen=this._childItems.length;
			var nowLen=value.length;
			this.itemLength=nowLen;
			var i=0;
			if(nowLen<oldLen){
				for(i=nowLen;i<oldLen;i++){
					this.removeItem(this._childItems[i]);
				}
				this._childItems.length=nowLen;
			}
			else if(nowLen>oldLen){
				for(i=oldLen;i<nowLen;i++){
					this._childItems.push(this.createItem());
				}
			};
			var tempWidth=NaN;
			for(var i=0;i<value.length;i++){
				tempWidth=0;
				for(var j=0;j<value[i].name.length;j++){
					var reg=/^[a-zA-Z0-9]*$/;
					var nameStr=value[i].name;
					if(reg.test(nameStr.charAt(j)))
						tempWidth+=8;
					else
					tempWidth+=16;
				}
				tempWidth+=20;
				this.itemWidth=Math.max(tempWidth,this.itemWidth);
			}
			if(this.itemWidth<120)
				this.itemWidth=120;
			for(i=0;i<value.length;i++){
				var item=this._childItems[i];
				item.width=this.itemWidth;
			}
			this.updateView();
		});

		__getset(0,__proto,'classItem',null,function(value){
			this._classItem=value||TreeMenuMaterial_GC_Other;
			this._pool=new ObjectPool(this._classItem);
		});

		__getset(0,__proto,'childMenu',function(){
			if(!this._childMenu){
				this._childMenu=new TreeMenuMaterial_GC_Other;
				this._childMenu._pool=this._pool;
				this._childMenu.width=this._width;
				this._childMenu.parentMenu=this;
			}
			return this._childMenu;
		});

		__static(TreeMenuMaterial_GC_Other,
		['zeroPoint',function(){return this.zeroPoint=new Point;}
		]);
		return TreeMenuMaterial_GC_Other;
	})(Sprite)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.menu.TreeMenuMaterial_GC_Other extends laya.display.Sprite
	var TreeMenuMaterial_GC_Other$1=(function(_super){
		function TreeMenuMaterial_GC_Other(){
			this._classItem=null;
			this._pool=null;
			this._childMenu=null;
			this.parentMenu=null;
			this.root=null;
			this._array=null;
			this.itemLength=0;
			this._currentRollItem=null;
			this._contentBox=null;
			this._panel=null;
			this.itemWidth=0;
			this._topRoll=null;
			this._bottomRoll=null;
			this._topArrow=null;
			this._bottomArrow=null;
			this._lastMouseX=NaN;
			this._lastMouseY=NaN;
			this._stopTime=0;
			this._childHeight=0;
			this._childItems=new Array;
			TreeMenuMaterial_GC_Other.__super.call(this);
			this.initData();
		}

		__class(TreeMenuMaterial_GC_Other,'laya.ide.plugin.newScript.D_view.B_MaterialView.menu.TreeMenuMaterial_GC_Other',_super,'TreeMenuMaterial_GC_Other$1');
		var __proto=TreeMenuMaterial_GC_Other.prototype;
		__proto.initData=function(){
			this._topRoll=new Image();
			this._topRoll.visible=false;
			this._topRoll.skin="comp/blank.png";
			this._topRoll.height=15;
			this.addChild(this._topRoll);
			this._topRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onArrowOver,["top"]);
			this._topRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onArrowOut,["top"]);
			this._topArrow=new Clip();
			this._topArrow.skin="comp/clip_tree.png";
			this._topArrow.clipY=2;
			this._topArrow.index=0;
			this._topArrow.scale(0.6,0.6);
			this._topRoll.addChild(this._topArrow);
			this._topArrow.anchorX=this._topArrow.anchorY=0.5;
			this._topArrow.rotation=-90;
			this._topArrow.centerX=this._topArrow.centerY=0.5;
			this._bottomRoll=new Image();
			this._bottomRoll.visible=false;
			this._bottomRoll.skin="comp/blank.png";
			this._bottomRoll.height=15;
			this.addChild(this._bottomRoll);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onArrowOver,["bottom"]);
			this._bottomRoll.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onArrowOut,["bottom"]);
			this._bottomArrow=new Clip();
			this._bottomArrow.skin="comp/clip_tree.png";
			this._bottomArrow.clipY=2;
			this._bottomArrow.index=0;
			this._bottomArrow.scale(0.6,0.6);
			this._bottomRoll.addChild(this._bottomArrow);
			this._bottomArrow.anchorX=this._bottomArrow.anchorY=0.5;
			this._bottomArrow.rotation=90;
			this._bottomArrow.centerX=this._bottomArrow.centerY=0.5;
			this._panel=new Panel();
			this._panel.width=200;
			this._panel.vScrollBarSkin="";
			this._panel.vScrollBar.touchScrollEnable=true;
			this.addChild(this._panel);
			this._contentBox=new Box();
			this._panel.addChild(this._contentBox);
		}

		__proto.onArrowOut=function(type){
			Laya.timer.clear(this,this.onRollLoop);
		}

		__proto.onRollLoop=function(type){
			if(type=="top")
				this._panel.vScrollBar.value-=2;
			else
			this._panel.vScrollBar.value+=2;
		}

		__proto.onArrowOver=function(type){
			Laya.timer.frameLoop(1,this,this.onRollLoop,[type]);
		}

		__proto.createItem=function(){
			var item=this._pool.getObject();
			item.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			item.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
			item.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.onMouseClick);
			this._contentBox.addChild(item);
			return item;
		}

		__proto.removeItem=function(item){
			item.off(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			item.off(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
			item.off(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.onMouseClick);
			item.removeSelf();
			item.clear(this._pool);
		}

		/**
		*wlb1111
		*@param e
		*
		*/
		__proto.onMouseClick=function(e){
			this.clickItem(e.currentTarget);
		}

		__proto.onRollOut=function(e){
			this.currentRollItem=null;
		}

		__proto.onRollOver=function(e){
			this.currentRollItem=e.currentTarget;
		}

		__proto.onCheckClick=function(){
			var nowMouseX=this.mouseX;
			var nowMouseY=this.mouseY;
			if(this._lastMouseX==nowMouseX && this._lastMouseY==nowMouseY){
				if(Browser.now()-this._stopTime>100){
					Laya.timer.clear(this,this.onCheckClick);
					this.clickItem(this._currentRollItem);
				}
			}
			else{
				this._lastMouseX=nowMouseX;
				this._lastMouseY=nowMouseY;
				this._stopTime=Browser.now();
			}
		}

		__proto.clickItem=function(value){
			if(value.dataSource.hasChild){
				if(this.root){
					this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
				}
				Laya.timer.once(50,this,this.waitClose);
				this.showChildMenu(value);
			}
			else{
				this.chooseItem(value.dataSource);
			}
		}

		//当选择时
		__proto.chooseItem=function(data){
			if(this.parentMenu){
				this.removeSelf();
				this.parentMenu.chooseItem(data);
			}
			else{
				this.event(/*laya.events.Event.SELECT*/"select",data);
			}
		}

		__proto.showChildMenu=function(item){
			var childMenu=this.childMenu;
			childMenu.showByXY(this.root,0,0,item.dataSource.children);
			var globalxy=item.localToGlobal(TreeMenuMaterial_GC_Other.zeroPoint.setTo(0,0));
			globalxy=this.root.globalToLocal(globalxy);
			if(globalxy.x+(this._width+childMenu.itemWidth)<this.root.width)
				childMenu.showByXY(this.root,globalxy.x+this._width,globalxy.y,item.dataSource.children);
			else
			childMenu.showByXY(this.root,globalxy.x-childMenu.itemWidth,globalxy.y,item.dataSource.children);
		}

		__proto.showByXY=function(parent,x,y,array){
			this.root=parent;
			this.array=array;
			var xx=Math.min(parent.width-this.itemWidth,x);
			var yy=Math.min((parent.height-130)-this._height,y);
			this.pos(xx,yy);
			if(parent.contains(this))
				return;
			else
			parent.addChild(this);
		}

		__proto.showByXYBegin=function(parent,x,y,array){
			this.root=parent;
			this.array=array;
			var xx=Math.min(parent.width-this.itemWidth,x);
			var yy=Math.min((parent.height-130)-this._height,y);
			this.pos(xx,y);
			console.log("*****************",xx,yy,x,y);
			if(parent.contains(this))
				return;
			else
			parent.addChild(this);
		}

		__proto.updateView=function(){
			for(var i=0;i<this.itemLength;i++){
				var item=this._childItems [i];
				item.pos(0,i*30);
				item.size(this.itemWidth,30);
				item.dataSource=this._array[i];
			};
			var maxItemNum=Math.floor(this.root.height/30)-6;
			if(this.itemLength<maxItemNum){
				this._height=this.itemLength*30;
				this._panel.height=this._height;
				this._topRoll.visible=false;
				this._bottomRoll.visible=false;
			}
			else{
				this._height=maxItemNum*30;
				this._panel.height=this._height;
				this._topRoll.visible=true;
				this._bottomRoll.visible=true;
			}
			this._topRoll.x=this._bottomRoll.x=this._panel.x;
			this._topRoll.y=this._panel.y-15;
			this._bottomRoll.y=this._panel.height;
			this._topRoll.width=this._bottomRoll.width=this._contentBox.width=this._panel.width=this.itemWidth;
			this._contentBox.height=this.itemLength*30;
			this._panel.refresh();
		}

		__proto.removeSelf=function(){
			if(this._childMenu){
				this._childMenu.removeSelf();
			}
			return laya.display.Node.prototype.removeSelf.call(this);
		}

		__proto.show=function(parent,array){
			if(this.root){
				this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
			}
			this.showByXY(parent,parent.mouseX,parent.mouseY,array);
			Laya.timer.callLater(this,this.waitClose);
		}

		__proto.show_GC=function(parent,array){
			if(this.root){
				this.root.off(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
			}
			this.showByXYBegin(parent,parent.mouseX,parent.mouseY,array);
			Laya.timer.callLater(this,this.waitClose);
		}

		__proto.waitClose=function(){
			this.root.once(/*laya.events.Event.CLICK*/"click",this,this.onRemoveSelf);
		}

		__proto.onRemoveSelf=function(e){
			this.removeSelf();
		}

		__getset(0,__proto,'currentRollItem',function(){
			return this._currentRollItem;
			},function(value){
			this._currentRollItem=value;
			if(value && value.dataSource.hasChild){
				this._stopTime=Browser.now();
				Laya.timer.frameLoop(1,this,this.onCheckClick);
			}
			else{
				Laya.timer.clear(this,this.onCheckClick);
			}
		});

		__getset(0,__proto,'array',null,function(value){
			this._array=value||[];
			this.itemWidth=0;
			var oldLen=this._childItems.length;
			var nowLen=value.length;
			this.itemLength=nowLen;
			var i=0;
			if(nowLen<oldLen){
				for(i=nowLen;i<oldLen;i++){
					this.removeItem(this._childItems[i]);
				}
				this._childItems.length=nowLen;
			}
			else if(nowLen>oldLen){
				for(i=oldLen;i<nowLen;i++){
					this._childItems.push(this.createItem());
				}
			};
			var tempWidth=NaN;
			for(var i=0;i<value.length;i++){
				tempWidth=0;
				for(var j=0;j<value[i].name.length;j++){
					var reg=/^[a-zA-Z0-9]*$/;
					var nameStr=value[i].name;
					if(reg.test(nameStr.charAt(j)))
						tempWidth+=8;
					else
					tempWidth+=16;
				}
				tempWidth+=20;
				this.itemWidth=Math.max(tempWidth,this.itemWidth);
			}
			if(this.itemWidth<120)
				this.itemWidth=120;
			for(i=0;i<value.length;i++){
				var item=this._childItems[i];
				item.width=this.itemWidth;
			}
			this.updateView();
		});

		__getset(0,__proto,'classItem',null,function(value){
			this._classItem=value||TreeMenuMaterial_GC_Other;
			this._pool=new ObjectPoolCell(this._classItem);
		});

		__getset(0,__proto,'childMenu',function(){
			if(!this._childMenu){
				this._childMenu=new TreeMenuMaterial_GC_Other;
				this._childMenu._pool=this._pool;
				this._childMenu.width=this._width;
				this._childMenu.parentMenu=this;
			}
			return this._childMenu;
		});

		__static(TreeMenuMaterial_GC_Other,
		['zeroPoint',function(){return this.zeroPoint=new Point;}
		]);
		return TreeMenuMaterial_GC_Other;
	})(Sprite)


	//class laya.ide.plugin.as3plugin.ui.PropertyViewUI extends laya.ui.View
	var PropertyViewUI=(function(_super){
		function PropertyViewUI(){
			this.valueTf=null;
			this.inputTf=null;
			PropertyViewUI.__super.call(this);
		}

		__class(PropertyViewUI,'laya.ide.plugin.as3plugin.ui.PropertyViewUI',_super);
		var __proto=PropertyViewUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellMaterial",EventCellMaterial);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(PropertyViewUI.uiView);
		}

		PropertyViewUI.uiView={"type":"View","props":{"y":0,"x":9,"width":300,"right":0,"left":0,"height":30},"compId":1,"child":[{"type":"Label","props":{"y":9,"x":40,"width":53,"var":"valueTf","text":"label","styleSkin":"comp/label_common.png","height":15,"color":"#61737C"},"compId":9},{"type":"InputList","props":{"y":4,"var":"inputTf","runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellMaterial","right":10,"left":100,"height":22},"compId":10}],"loadList":["comp/label_common.png","InputList.scene"],"loadList3D":[],"components":[]};
		return PropertyViewUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.ActionViewUI extends laya.ui.View
	var ActionViewUI=(function(_super){
		function ActionViewUI(){
			this.clickBox=null;
			this.deleteBtn=null;
			this.vbox=null;
			this.conditionBtn=null;
			this.nameTf=null;
			ActionViewUI.__super.call(this);
		}

		__class(ActionViewUI,'laya.ide.plugin.as3plugin.ui.ActionViewUI',_super);
		var __proto=ActionViewUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ActionViewUI.uiView);
		}

		ActionViewUI.uiView={"type":"View","props":{"x":0,"width":300,"title":"全局属性","text":"行为名","height":30,"eventscript":"code/f7e10eb741ee06bdadd7cbe1dd75ba6c.txt"},"compId":1,"child":[{"type":"Box","props":{"y":0,"var":"clickBox","right":0,"left":0,"height":30,"data":[],"arrow":false},"compId":14},{"type":"Button","props":{"y":4,"width":44,"var":"deleteBtn","skin":"view/btn_close.png","right":9,"height":44,"data":[{"type":"number","name":"aaf","auto":0,"arrType":""},{"type":"number","name":"gdfg","auto":0,"arrType":""},{"type":"number","name":"fgsdf","auto":0,"arrType":""},{"type":"number","name":"gbnvb","auto":0,"arrType":""}],"arrow":false,"scaleX":0.5,"scaleY":0.5},"compId":5},{"type":"VBox","props":{"y":30,"var":"vbox","right":0,"left":0},"compId":8},{"type":"Button","props":{"y":4,"width":23,"var":"conditionBtn","text":"全局属性","skin":"comp/button.png","scaleX":1,"rotation":0,"right":32,"labelSize":12,"label":"条件","height":22,"fontSize":20,"eventscript":"code/7dda04a680173ae4d0d2c1e15d8e806e.txt","labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","sizeGrid":"0,4,0,4"},"compId":9},{"type":"Label","props":{"y":9,"x":17,"width":27,"var":"nameTf","text":"行为","styleSkin":"comp/label_common.png","rotation":0,"isPresetRoot":true,"height":12,"fontSize":12,"bold":false,"color":"#61737C"},"compId":13}],"loadList":["code/f7e10eb741ee06bdadd7cbe1dd75ba6c.txt","view/btn_close.png","comp/button.png","code/7dda04a680173ae4d0d2c1e15d8e806e.txt","comp/label_common.png"],"loadList3D":[],"components":[]};
		return ActionViewUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.VarListViewUI extends laya.ui.View
	var VarListViewUI=(function(_super){
		function VarListViewUI(){
			this.addBtn=null;
			this.box=null;
			VarListViewUI.__super.call(this);
		}

		__class(VarListViewUI,'laya.ide.plugin.as3plugin.ui.VarListViewUI',_super);
		var __proto=VarListViewUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(VarListViewUI.uiView);
		}

		VarListViewUI.uiView={"type":"View","props":{"y":0,"width":300,"label":"添加属性","height":300},"compId":1,"child":[{"type":"Button","props":{"x":10,"var":"addBtn","stateNum":2,"skin":"comp/btn_addcomp.png","sizeGrid":"0,0,0,24","right":0,"left":0,"labelColors":"#c5c5c5,#c5c5c5,#c5c5c5","label":"添加属性","height":22,"bottom":0},"compId":6},{"type":"Panel","props":{"var":"box","vScrollBarSkin":"comp/vscroll$bar.png","top":0,"right":0,"left":0,"bottom":22},"compId":7}],"loadList":["comp/btn_addcomp.png","comp/vscroll$bar.png"],"loadList3D":[],"components":[]};
		return VarListViewUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.TitleViewUI extends laya.ui.View
	var TitleViewUI=(function(_super){
		function TitleViewUI(){
			this.openBtn=null;
			this.titleName=null;
			this.addBtn=null;
			TitleViewUI.__super.call(this);
		}

		__class(TitleViewUI,'laya.ide.plugin.as3plugin.ui.TitleViewUI',_super);
		var __proto=TitleViewUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(TitleViewUI.uiView);
		}

		TitleViewUI.uiView={"type":"View","props":{"width":300,"height":20},"compId":1,"child":[{"type":"Clip","props":{"y":6,"x":8,"var":"openBtn","skin":"comp/clip_tree.png","index":1,"clipY":2,"width":11,"height":12},"compId":3},{"type":"Label","props":{"y":5,"x":19,"var":"titleName","text":"属性","styleSkin":"comp/label_common.png","bold":true,"color":"#61737C"},"compId":4},{"type":"Button","props":{"y":5,"x":272,"var":"addBtn","stateNum":2,"skin":"play/btn_add.png","rotation":0,"right":15,"scaleX":0.5,"scaleY":0.5},"compId":5}],"loadList":["comp/clip_tree.png","comp/label_common.png","play/btn_add.png"],"loadList3D":[],"components":[]};
		return TitleViewUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.InputListUI extends laya.ui.View
	var InputListUI=(function(_super){
		function InputListUI(){
			this.inputTf=null;
			this.menuBtn=null;
			InputListUI.__super.call(this);
		}

		__class(InputListUI,'laya.ide.plugin.as3plugin.ui.InputListUI',_super);
		var __proto=InputListUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellTextInputMaterial",EventCellTextInputMaterial);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(InputListUI.uiView);
		}

		InputListUI.uiView={"type":"View","props":{"x":0,"width":120,"height":20},"compId":1,"child":[{"type":"TextInput","props":{"var":"inputTf","top":0,"skin":"comp/input_32.png","runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellTextInputMaterial","right":22,"left":0,"bottom":0,"sizeGrid":"0,3,0,3","color":"#61737C","fontSize":14,"padding":"0,4,0,4","height":32},"compId":2},{"type":"Button","props":{"y":4,"var":"menuBtn","stateNum":2,"skin":"play/btn_add.png","right":4,"scaleX":0.5,"scaleY":0.5},"compId":4}],"loadList":["comp/input_32.png","play/btn_add.png"],"loadList3D":[],"components":[]};
		return InputListUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.EventViewUI extends laya.ui.View
	var EventViewUI=(function(_super){
		function EventViewUI(){
			this.labelTf=null;
			this.eventNameTf=null;
			this.deleteBtn=null;
			this.conditionBtn=null;
			this.addActionBtn=null;
			this.minBtn=null;
			this.proBtn=null;
			this.vbox=null;
			this.customeventInput=null;
			this.ownerNameInput=null;
			EventViewUI.__super.call(this);
		}

		__class(EventViewUI,'laya.ide.plugin.as3plugin.ui.EventViewUI',_super);
		var __proto=EventViewUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellMaterial",EventCellMaterial);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(EventViewUI.uiView);
		}

		EventViewUI.uiView={"type":"View","props":{"y":0,"x":0,"width":400,"staticCache":false,"height":30,"data":[{"type":"string","name":"fff","auto":""}]},"compId":1,"child":[{"type":"Label","props":{"y":10,"x":18,"width":27,"var":"labelTf","styleSkin":"comp/label_common.png","rotation":0,"height":12,"fontSize":12,"bold":true,"color":"#61737C"},"compId":10},{"type":"Label","props":{"y":9,"x":20,"width":27,"var":"eventNameTf","styleSkin":"comp/label_common.png","rotation":0,"height":12,"color":"#61737C"},"compId":11},{"type":"Button","props":{"y":6,"width":44,"var":"deleteBtn","skin":"view/btn_close.png","right":9,"height":44,"scaleX":0.5,"scaleY":0.5},"compId":6},{"type":"Button","props":{"y":6,"x":343,"width":32,"var":"conditionBtn","skin":"comp/button.png","rotation":0,"right":32,"labelSize":12,"label":"条件","height":22,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","sizeGrid":"0,4,0,4"},"compId":9},{"type":"Button","props":{"y":6,"x":277,"width":32,"var":"addActionBtn","skin":"comp/button.png","rotation":0,"right":98,"labelSize":12,"label":"行为","height":22,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","sizeGrid":"0,4,0,4"},"compId":4},{"type":"Clip","props":{"y":9,"x":0,"var":"minBtn","skin":"comp/clip_tree.png","index":1,"clipY":2,"width":11,"height":12},"compId":16},{"type":"Button","props":{"y":6,"x":310,"width":32,"var":"proBtn","skin":"comp/button.png","rotation":0,"right":65,"labelSize":12,"label":"属性","height":22,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","sizeGrid":"0,4,0,4"},"compId":17},{"type":"Box","props":{"y":30,"var":"vbox","right":0,"left":0},"compId":19},{"type":"InputList","props":{"y":6,"x":15,"width":90,"var":"customeventInput","runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellMaterial","height":22},"compId":20},{"type":"InputList","props":{"y":6,"x":114,"width":90,"var":"ownerNameInput","runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellMaterial","height":22},"compId":21}],"loadList":["comp/label_common.png","view/btn_close.png","comp/button.png","comp/clip_tree.png","InputList.scene"],"loadList3D":[],"components":[]};
		return EventViewUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.TreeMenuItemUI extends laya.ui.View
	var TreeMenuItemUI=(function(_super){
		function TreeMenuItemUI(){
			this.selectBox=null;
			this.arrowBg=null;
			this.labelTf=null;
			TreeMenuItemUI.__super.call(this);
		}

		__class(TreeMenuItemUI,'laya.ide.plugin.as3plugin.ui.TreeMenuItemUI',_super);
		var __proto=TreeMenuItemUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(TreeMenuItemUI.uiView);
		}

		TreeMenuItemUI.uiView={"type":"View","props":{"width":150,"height":26},"compId":1,"child":[{"type":"Image","props":{"y":10,"x":10,"top":0,"skin":"comp/blank.png","sizeGrid":"1,1,1,1","right":0,"left":0,"bottom":0},"compId":2},{"type":"Clip","props":{"y":10,"x":10,"var":"selectBox","top":0,"skin":"comp/clip_selectBox.png","sizeGrid":"1,1,1,1","right":0,"name":"selectBox","left":0,"index":0,"clipY":2,"clipX":1,"bottom":0},"compId":3},{"type":"Clip","props":{"width":11,"var":"arrowBg","skin":"comp/clip_tree.png","right":5,"index":0,"height":12,"centerY":0,"clipY":2},"compId":5},{"type":"Label","props":{"y":7,"x":19,"width":108,"var":"labelTf","text":"label","styleSkin":"comp/label_common.png","height":13,"fontSize":12,"color":"#61737C"},"compId":4}],"loadList":["comp/blank.png","comp/clip_selectBox.png","comp/clip_tree.png","comp/label_common.png"],"loadList3D":[],"components":[]};
		return TreeMenuItemUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.CreatePropertyViewUI extends laya.ui.View
	var CreatePropertyViewUI=(function(_super){
		function CreatePropertyViewUI(){
			this.nameTf=null;
			this.addBtn=null;
			this.closeBtn=null;
			this.typeList=null;
			CreatePropertyViewUI.__super.call(this);
		}

		__class(CreatePropertyViewUI,'laya.ide.plugin.as3plugin.ui.CreatePropertyViewUI',_super);
		var __proto=CreatePropertyViewUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(CreatePropertyViewUI.uiView);
		}

		CreatePropertyViewUI.uiView={"type":"View","props":{"width":300,"right":0,"label":"添加","height":150,"eventscript":"code/92d0217afaa9c45d36044197b5a8f73e.txt"},"compId":1,"child":[{"type":"Image","props":{"y":10,"x":10,"top":0,"skin":"view/bg_panel4.png","right":0,"left":0,"bottom":0,"sizeGrid":"4,4,4,4"},"compId":2},{"type":"Label","props":{"y":21,"x":20,"width":69,"text":"属性","styleSkin":"comp/Label1.png","height":21,"color":"#999999"},"compId":11},{"type":"Label","props":{"y":63,"x":21,"width":69,"text":"类型","styleSkin":"comp/Label1.png","height":21,"color":"#999999"},"compId":13},{"type":"TextInput","props":{"y":16,"x":60,"var":"nameTf","skin":"comp/input_32.png","right":10,"left":60,"height":26,"sizeGrid":"0,3,0,3","color":"#61737C","fontSize":14,"padding":"0,4,0,4"},"compId":10},{"type":"Button","props":{"y":105,"var":"addBtn","skin":"comp/button.png","label":"确定","centerX":-70,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":14},{"type":"Button","props":{"y":105,"var":"closeBtn","skin":"comp/button.png","label":"取消","centerX":70,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":15},{"type":"ComboBox","props":{"y":59,"var":"typeList","skin":"comp/combo_20.png","right":10,"left":60,"height":26,"sizeGrid":"0,20,0,3","labelColors":"#61737C,#61737C,#61737C,#c5c5c5"},"compId":16}],"loadList":["code/92d0217afaa9c45d36044197b5a8f73e.txt","view/bg_panel4.png","comp/Label1.png","comp/input_32.png","comp/button.png","comp/combo_20.png"],"loadList3D":[],"components":[]};
		return CreatePropertyViewUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.PropertyItemViewUI extends laya.ui.View
	var PropertyItemViewUI=(function(_super){
		function PropertyItemViewUI(){
			this.nameTf=null;
			this.inputTxt=null;
			this.deleteBtn=null;
			PropertyItemViewUI.__super.call(this);
		}

		__class(PropertyItemViewUI,'laya.ide.plugin.as3plugin.ui.PropertyItemViewUI',_super);
		var __proto=PropertyItemViewUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(PropertyItemViewUI.uiView);
		}

		PropertyItemViewUI.uiView={"type":"View","props":{"width":250,"right":0,"left":0,"height":30},"compId":1,"child":[{"type":"Label","props":{"y":7.5,"x":10,"width":53,"var":"nameTf","text":"label","styleSkin":"comp/label_common.png","height":15,"color":"#61737C"},"compId":2},{"type":"TextInput","props":{"y":4,"var":"inputTxt","skin":"comp/input_22.png","right":20,"left":54,"height":22,"sizeGrid":"0,3,0,3","color":"#c5c5c5"},"compId":3},{"type":"Button","props":{"width":44,"var":"deleteBtn","skin":"view/btn_close.png","right":5,"height":44,"centerY":0,"scaleX":0.5,"scaleY":0.5,"y":7},"compId":4}],"loadList":["comp/label_common.png","comp/input_22.png","view/btn_close.png"],"loadList3D":[],"components":[]};
		return PropertyItemViewUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.ScriptPrefabItemUI extends laya.ui.View
	var ScriptPrefabItemUI=(function(_super){
		function ScriptPrefabItemUI(){
			this.nameTf=null;
			ScriptPrefabItemUI.__super.call(this);
		}

		__class(ScriptPrefabItemUI,'laya.ide.plugin.as3plugin.ui.ScriptPrefabItemUI',_super);
		var __proto=ScriptPrefabItemUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ScriptPrefabItemUI.uiView);
		}

		ScriptPrefabItemUI.uiView={"type":"View","props":{"width":200,"height":30},"compId":1,"child":[{"type":"Clip","props":{"top":0,"skin":"comp/clip_selectBox.png","right":0,"name":"selectBox","left":0,"bottom":0,"clipY":2},"compId":9},{"type":"Label","props":{"y":8,"x":16,"width":122,"var":"nameTf","text":"label","styleSkin":"comp/Label1.png","name":"df","height":15,"color":"#999999"},"compId":2}],"loadList":["comp/clip_selectBox.png","comp/Label1.png"],"loadList3D":[],"components":[]};
		return ScriptPrefabItemUI;
	})(View)


	//class laya.ide.plugin.as3plugin.D_view.D_OtherView.VarListView2 extends laya.ui.View
	var VarListView2=(function(_super){
		function VarListView2(){
			this._createPropertyView=null;
			this.list=null;
			this._deletePool=[];
			this._autoAdjustSize=false;
			this.data=null;
			this.varTypes=null;
			this.configVarTypes=[];
			this.valueData=null;
			this.saveFunc=null;
			this.listItemHeight=26;
			this._deletes=new Array;
			VarListView2.__super.call(this);
			this.left=this.right=0;
			this.list=new PropsInputGroup();
			this.list.left=0;
			this.list.right=25;
			this.list.on(/*laya.ide.props.PropsInputGroup.ValueChanged*/"PropsInputGroup_ValueChanged",this,this.save);
			this.addChild(this.list);
		}

		__class(VarListView2,'laya.ide.plugin.as3plugin.D_view.D_OtherView.VarListView2',_super);
		var __proto=VarListView2.prototype;
		__proto.initTypes=function(types){
			this._createPropertyView=new CreatePropertyView(types);
		}

		__proto.save=function(){
			this.data.length=0;
			for (var i=0,len=this.varTypes.length;i < len;i++){
				var name=this.varTypes[i].name;
				this.data.push({name:name,type:this.varTypes[i].type,auto:this.valueData[name]});
			}
			this.saveFunc(this.data);
		}

		__proto.createDeleteBtn=function(){
			var closeBtn;
			if (this._deletePool.length > 0){
				closeBtn=this._deletePool.pop();
			}
			else {
				closeBtn=new Button;
				closeBtn.skin='play/btn_del.png';
				closeBtn.stateNum=2;
				closeBtn.size(20,28);
				closeBtn.scaleX=closeBtn.scaleY=.5
				closeBtn.right=15;
				closeBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			};
			var index=this._deletes.length;
			closeBtn.y=index *this.listItemHeight+2;
			this.addChild(closeBtn);
			this._deletes.push(closeBtn);
		}

		__proto.popDeleteBtn=function(){
			var btn=this._deletes.pop();
			btn.removeSelf();
			this._deletePool.push(btn);
		}

		__proto.onAdd=function(parent){
			this._createPropertyView.showByData(this.addVar.bind(this));
			this._createPropertyView.y=30;
			parent.addChild(this._createPropertyView);
		}

		__proto.addVar=function(data){
			var name=data.name;
			if (!name){
				return;
			}
			if (this.valueData.hasOwnProperty(name)){
				laya.editor.comonents.Alert.show('变量'+name+'重复定义!');
				return;
			}
			this.varTypes.push(data);
			if (VarListView2.AutoValue.hasOwnProperty(data.type)){
				this.valueData[data.name]=VarListView2.AutoValue[data.type];
			}
			else {
				this.valueData[data.name]='';
			}
			this.update();
			this.save();
		}

		__proto.onDelete=function(e){
			this.removeByIndex(this._deletes.indexOf(e.currentTarget));
			this.save();
		}

		__proto.removeByIndex=function(index){
			var name=this.varTypes[index].name;
			delete this.valueData[name];
			this.varTypes.splice(index,1);
			this.update();
		}

		__proto.resetData=function(data,saveFunc){
			this.saveFunc=saveFunc;
			this.data=data;
			this.varTypes=data.concat();
			this.valueData={};
			for (var i=0,len=this.varTypes.length;i < len;i++){
				this.valueData[data[i].name]=data[i].auto;
			}
			Laya.timer.callLater(this,this.update);
		}

		__proto.update=function(){
			this.configVarTypes.length=0;
			for (var i=0,len=this.varTypes.length;i < len;i++){
				if (MinScriptSystem.checkIsRes(this.varTypes[i].type)){
					this.configVarTypes.push({name:this.varTypes[i].name,type:"string",accept:this.varTypes[i].type});
				}
				else {
					this.configVarTypes.push(this.varTypes[i]);
				}
			}
			this.list.config=this.configVarTypes;
			this.list.setValueD(this.valueData);
			this.list.height=this.varTypes.length *this.listItemHeight;
			var newlen=this.varTypes.length;
			var oldLen=this._deletes.length;
			if (oldLen < newlen){
				for (;oldLen < newlen;oldLen++){
					this.createDeleteBtn();
				}
			}
			else if (oldLen > newlen){
				for (;oldLen > newlen;newlen++){
					this.popDeleteBtn();
				}
			}
			if (this._autoAdjustSize){
				this.height=this.list.height;
				this.event(/*laya.events.Event.RESIZE*/"resize");
			}
		}

		__getset(0,__proto,'autoAdjustSize',function(){
			return this._autoAdjustSize;
			},function(value){
			this._autoAdjustSize=value;
		});

		VarListView2.DeleteProperty='DeleteProperty';
		__static(VarListView2,
		['AutoValue',function(){return this.AutoValue={bool:false,number:0};}
		]);
		return VarListView2;
	})(View)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellTextInputMaterial extends laya.ui.TextInput
	var EventCellTextInputMaterial=(function(_super){
		function EventCellTextInputMaterial(text){
			(text===void 0)&& (text="");
			EventCellTextInputMaterial.__super.call(this,text);
		}

		__class(EventCellTextInputMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellTextInputMaterial',_super);
		return EventCellTextInputMaterial;
	})(TextInput)


	//class laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionChooseMaterialUI extends laya.ui.View
	var ActionChooseMaterialUI=(function(_super){
		function ActionChooseMaterialUI(){
			this.chooseBtn=null;
			ActionChooseMaterialUI.__super.call(this);
		}

		__class(ActionChooseMaterialUI,'laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionChooseMaterialUI',_super);
		var __proto=ActionChooseMaterialUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ActionChooseMaterialUI.uiView);
		}

		ActionChooseMaterialUI.uiView={"type":"View","props":{"eventscript":"code/ef5daa44279dac45269631e3c6fcd20f.txt"},"compId":1,"child":[{"type":"Button","props":{"y":0,"x":0,"var":"chooseBtn","labelStrokeColor":"#000000","labelSize":12,"labelColors":"#000000","label":"改变位置","height":14},"compId":2}],"loadList":["code/ef5daa44279dac45269631e3c6fcd20f.txt"],"loadList3D":[],"components":[]};
		return ActionChooseMaterialUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionEndMaterialUI extends laya.ui.View
	var ActionEndMaterialUI=(function(_super){
		function ActionEndMaterialUI(){
			this.endImage=null;
			this.endText=null;
			ActionEndMaterialUI.__super.call(this);
		}

		__class(ActionEndMaterialUI,'laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionEndMaterialUI',_super);
		var __proto=ActionEndMaterialUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("Text",Text);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ActionEndMaterialUI.uiView);
		}

		ActionEndMaterialUI.uiView={"type":"View","props":{"width":0,"height":0,"eventscript":"code/d319d36512ea7995c15dd76f75dc9786.txt"},"compId":1,"child":[{"type":"Image","props":{"width":8,"var":"endImage","top":3,"skin":"comp/image.png","left":0,"height":8},"compId":2},{"type":"Text","props":{"y":-0.5,"x":4,"width":48,"var":"endText","valign":"middle","text":"条件结束","rotation":0,"height":15,"fontSize":8,"color":"#ffffff","alpha":0.6,"align":"center"},"compId":3}],"loadList":["code/d319d36512ea7995c15dd76f75dc9786.txt","comp/image.png"],"loadList3D":[],"components":[]};
		return ActionEndMaterialUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionTitleMaterialUI extends laya.ui.View
	var ActionTitleMaterialUI=(function(_super){
		function ActionTitleMaterialUI(){
			this.titleClip=null;
			this.titleText=null;
			ActionTitleMaterialUI.__super.call(this);
		}

		__class(ActionTitleMaterialUI,'laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionTitleMaterialUI',_super);
		var __proto=ActionTitleMaterialUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("Text",Text);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ActionTitleMaterialUI.uiView);
		}

		ActionTitleMaterialUI.uiView={"type":"View","props":{"width":0,"height":0,"eventscript":"code/9013e143427802081e7f624e31b86de3.txt"},"compId":1,"child":[{"type":"Clip","props":{"y":0,"x":0,"width":14,"var":"titleClip","skin":"scriptPlugin/action.png","index":0,"height":14},"compId":2},{"type":"Text","props":{"y":0,"x":14,"width":30,"var":"titleText","valign":"middle","text":"行为","height":14,"fontSize":12,"font":"SimHei","eventscript":"code/e4c232abbac9a2d39052ff206d771f4b.txt","color":"#0033ff","bold":true,"align":"center"},"compId":4}],"loadList":["code/9013e143427802081e7f624e31b86de3.txt","scriptPlugin/action.png","code/e4c232abbac9a2d39052ff206d771f4b.txt"],"loadList3D":[],"components":[]};
		return ActionTitleMaterialUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.NewScript.Common.InputMaterialUI extends laya.ui.View
	var InputMaterialUI=(function(_super){
		function InputMaterialUI(){
			this.inputHBox=null;
			this.textInput=null;
			this.inputBtn=null;
			InputMaterialUI.__super.call(this);
		}

		__class(InputMaterialUI,'laya.ide.plugin.as3plugin.ui.NewScript.Common.InputMaterialUI',_super);
		var __proto=InputMaterialUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(InputMaterialUI.uiView);
		}

		InputMaterialUI.uiView={"type":"View","props":{"y":0,"width":0,"height":0,"eventscript":"code/bb41abd1dc2b01335a11a227248b44f8.txt"},"compId":1,"child":[{"type":"HBox","props":{"y":0,"x":0,"var":"inputHBox","space":5,"anchorX":0},"compId":5,"child":[{"type":"TextInput","props":{"y":0,"x":0,"width":50,"var":"textInput","text":"100","promptColor":"#000000","overflow":"visible","height":14,"fontSize":12,"color":"#000000","align":"center"},"compId":2,"child":[{"type":"Image","props":{"skin":"comp/line2.png","right":0,"left":0,"height":1,"gray":true,"bottom":0},"compId":3}],"components":[]},{"type":"Button","props":{"y":8,"x":60,"width":20,"var":"inputBtn","stateNum":2,"skin":"play/btn_add.png","pivotY":10,"pivotX":10,"height":20,"scaleX":0.5,"scaleY":0.5},"compId":4}],"components":[]}],"loadList":["code/bb41abd1dc2b01335a11a227248b44f8.txt","comp/line2.png","play/btn_add.png"],"loadList3D":[],"components":[]};
		return InputMaterialUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.NewScript.Common.underLineUI extends laya.ui.View
	var underLineUI=(function(_super){
		function underLineUI(){
			this.line=null;
			underLineUI.__super.call(this);
		}

		__class(underLineUI,'laya.ide.plugin.as3plugin.ui.NewScript.Common.underLineUI',_super);
		var __proto=underLineUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(underLineUI.uiView);
		}

		underLineUI.uiView={"type":"View","props":{"right":0,"left":0,"eventscript":"code/6583250592cc9f1889da7e3d010c98be.txt"},"compId":1,"child":[{"type":"Image","props":{"var":"line","skin":"comp/line.png","right":0,"left":0,"height":2},"compId":2}],"loadList":["code/6583250592cc9f1889da7e3d010c98be.txt","comp/line.png"],"loadList3D":[],"components":[]};
		return underLineUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.NewScript.Event.EventTitleMaterialUI extends laya.ui.View
	var EventTitleMaterialUI=(function(_super){
		function EventTitleMaterialUI(){
			this.eventTitleBtn=null;
			EventTitleMaterialUI.__super.call(this);
		}

		__class(EventTitleMaterialUI,'laya.ide.plugin.as3plugin.ui.NewScript.Event.EventTitleMaterialUI',_super);
		var __proto=EventTitleMaterialUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(EventTitleMaterialUI.uiView);
		}

		EventTitleMaterialUI.uiView={"type":"View","props":{"eventscript":"code/aa2a046982e1eec15fa57c8981ca6117.txt"},"compId":1,"child":[{"type":"Button","props":{"y":0,"x":0,"width":214,"var":"eventTitleBtn","skin":"comp/button.png","labelSize":14,"label":"label","height":14,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","sizeGrid":"0,4,0,4"},"compId":2}],"loadList":["code/aa2a046982e1eec15fa57c8981ca6117.txt","comp/button.png"],"loadList3D":[],"components":[]};
		return EventTitleMaterialUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.NewScriptDebug.DebugActionUI extends laya.ui.View
	var DebugActionUI=(function(_super){
		function DebugActionUI(){DebugActionUI.__super.call(this);;
		};

		__class(DebugActionUI,'laya.ide.plugin.as3plugin.ui.NewScriptDebug.DebugActionUI',_super);
		var __proto=DebugActionUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(DebugActionUI.uiView);
		}

		DebugActionUI.uiView={"type":"View","props":{"width":0,"height":0,"eventscript":"code/661e72938ff64ce9d31bbd3acfe24b78.txt"},"compId":1,"loadList":["code/661e72938ff64ce9d31bbd3acfe24b78.txt"],"loadList3D":[]};
		return DebugActionUI;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.testUI extends laya.ui.View
	var testUI=(function(_super){
		function testUI(){
			this.ani1=null;
			this.typeList=null;
			this.nameTf=null;
			this.addBtn=null;
			this.closeBtn=null;
			testUI.__super.call(this);
		}

		__class(testUI,'laya.ide.plugin.as3plugin.ui.testUI',_super);
		var __proto=testUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(testUI.uiView);
		}

		testUI.uiView={"type":"View","props":{"width":300,"height":300},"compId":1,"child":[{"type":"Box","props":{"y":6,"x":20},"compId":16,"child":[{"type":"Label","props":{"y":25,"width":69,"text":"测试1","styleSkin":"comp/Label1.png","height":21,"color":"#999999"},"compId":3},{"type":"Label","props":{"y":68,"width":69,"text":"测试2","styleSkin":"comp/Label1.png","height":21,"color":"#999999"},"compId":4},{"type":"Label","props":{"y":0,"x":88,"width":83,"text":"高川测试面板","height":19,"color":"#007aff"},"compId":14},{"type":"ComboBox","props":{"y":63,"x":40,"width":230,"var":"typeList","skin":"comp/combobox.png","name":"ComboBoxTest","height":25,"sizeGrid":"0,20,0,4","labelColors":"#c5c5c5,#c5c5c5,#c5c5c5,#c5c5c5"},"compId":11},{"type":"TextInput","props":{"y":19,"x":40,"width":230,"var":"nameTf","skin":"comp/input_22.png","name":"TextInputTest","height":27,"sizeGrid":"0,3,0,3","color":"#c5c5c5"},"compId":10},{"type":"Button","props":{"y":105,"width":125,"var":"addBtn","skin":"comp/button.png","name":"Right","label":"确定","height":43,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":12},{"type":"Button","props":{"y":105,"x":142,"width":120,"var":"closeBtn","skin":"comp/button.png","skewX":0,"name":"Wrong","labelStrokeColor":"#000000","label":"取消","height":43,"data":[],"arrow":false,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":13}],"components":[]}],"animations":[{"nodes":[{"target":12,"keyframes":{"width":[{"value":120,"tweenMethod":"linearNone","tween":true,"target":12,"key":"width","index":0},{"value":115,"tweenMethod":"linearNone","tween":true,"target":12,"key":"width","index":1},{"value":120,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"width","index":2},{"value":125,"tweenMethod":"linearNone","tween":true,"target":12,"key":"width","index":3},{"value":115,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"width","index":4},{"value":120,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"width","index":5},{"value":125,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"width","index":6},{"value":115,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"width","index":7},{"value":120,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"width","index":8},{"value":125,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"width","index":9}],"height":[{"value":40,"tweenMethod":"linearNone","tween":true,"target":12,"key":"height","index":0},{"value":38,"tweenMethod":"linearNone","tween":true,"target":12,"key":"height","index":1},{"value":40,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"height","index":2},{"value":43,"tweenMethod":"linearNone","tween":true,"target":12,"key":"height","index":3},{"value":38,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"height","index":4},{"value":40,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"height","index":5},{"value":43,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"height","index":6},{"value":38,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"height","index":7},{"value":40,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"height","index":8},{"value":43,"tweenMethod":"linearNone","tween":true,"target":12,"label":null,"key":"height","index":9}]}}],"name":"ani1","id":1,"frameRate":24,"events":[],"action":0}],"loadList":["comp/Label1.png","comp/combobox.png","comp/input_22.png","comp/button.png"],"loadList3D":[],"components":[]};
		return testUI;
	})(View)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.action.Action extends laya.ui.View
	var Action=(function(_super){
		function Action(id,parentID,isDebug,panel){
			this.parentID=null;
			this.id=null;
			this.hBox=null;
			this.debugImage=null;
			this.debugBack=null;
			this.title=null;
			this.choose=null;
			this.mpanel=null;
			this.deleteBtn=null;
			this.isDebug=false;
			this.currentActionKey="playAction";
			this.currentParam=null;
			Action.__super.call(this);
			this.input=[];
			this.id=id;
			this.parentID=parentID;
			this.mpanel=panel;
			this.isDebug=isDebug;
			this.debugImage=new Image();
			this.debugImage.width=20;
			this.debugImage.height=20;
			this.debugImage.skin="comp/image.png";
			this.addChild(this.debugImage);
			this.debugBack=new Image();
			this.debugBack.width=500;
			this.debugBack.height=20;
			this.debugBack.skin="comp/blank.png";
			this.debugBack.alpha=0.3;
			this.addChild(this.debugBack);
			this.setDebug(isDebug);
			this.hBox=new laya.ui.HBox();
			this.hBox.space=5;
			this.addChild(this.hBox);
			this.name=id;
			this.on(/*laya.events.Event.MOUSE_OVER*/"mouseover",this,this.onMouseOver);
			this.on(/*laya.events.Event.MOUSE_OUT*/"mouseout",this,this.onMouseOut);
			this.deleteBtn=new Button();
			this.deleteBtn.width=12;
			this.deleteBtn.height=12;
			this.deleteBtn.skin="play/btn_del.png";
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			this.deleteBtn.visible=false;
			this.deleteBtn.stateNum=2;
			this.debugImage.on(/*laya.events.Event.CLICK*/"click",this,this.onMouseClick)
		}

		__class(Action,'laya.ide.plugin.newScript.D_view.B_MaterialView.action.Action',_super);
		var __proto=Action.prototype;
		__proto.onDelete=function(){
			var step=new DeleteStep("action",this.parentID,this.id,this.mpanel);
			BlackBox$1.instance.execute(step);
		}

		__proto.onMouseOver=function(){
			if (NewScriptPluginViewContainer.instance.isDragNow){
				UnderLineView.instance.setUnderLine(this.mpanel,this.y,this.height,this.width);
				NewScriptPluginViewContainer.instance.setCurrentChoose(this.id,this.parentID,false);
			}
			this.deleteBtn.visible=true;
		}

		__proto.onMouseOut=function(){
			this.deleteBtn.visible=false;
		}

		__proto.clear=function(){
			if (this.title){
				this.title.removeSelf();
				this.title=null;
			}
			if (this.choose){
				this.choose.removeSelf();
				this.choose=null;
			}
			for (var i=0;i < this.input.length;i++){
				this.input[i].removeSelf();
			}
			this.input.length=0;
			this.hBox.removeChildren();
		}

		__proto.onMouseClick=function(){
			this.setDebug(!this.isDebug);
		}

		/**
		*是否在当前行断点
		*/
		__proto.setDebug=function(isDebug){
			this.isDebug=isDebug;
			this.debugBack.visible=isDebug;
			if (isDebug){
				this.debugImage.alpha=1;
			}
			else {
				this.debugImage.alpha=0.1;
			}
			ClassJsonContainer.instance.setDebug(this.id,isDebug);
		}

		__proto.layoutBox=function(layoutY){
			this.y=layoutY;
		}

		__proto.createWithPropID=function(propID){}
		/**
		*根据参数，生成后续对象
		*@param type
		*@param chooseValue
		*@param param
		*/
		__proto.createWithValue=function(type,chooseValue,param,actionKey){
			var _$this=this;
			this.currentActionKey=actionKey;
			this.clear();
			if (type=="condition"){
				this.title=new ActionTitleMaterialView(this.id,this.parentID,"scriptPlugin/condition.png","条件","#ff3d00",this.mpanel);
			}
			else if (type=="while"){
				this.title=new ActionTitleMaterialView(this.id,this.parentID,"scriptPlugin/while.png","重复","#ffb203",this.mpanel);
			}
			else if (type=="delay"){
				this.title=new ActionTitleMaterialView(this.id,this.parentID,"scriptPlugin/with.png","延时","#6f00ff",this.mpanel);
			}
			else {
				this.title=new ActionTitleMaterialView(this.id,this.parentID,"scriptPlugin/action.png","行为","#00ffd4",this.mpanel);
			}
			this.title.x=0.1;
			this.hBox.addChild(this.title);
			if (type !="condition" && type !="while" && type !="delay"){
				this.choose=new ActionChooseMaterialView(chooseValue);
				this.choose.x=0.2;
				this.choose.chooseBtn.on(/*laya.events.Event.CLICK*/"click",this,function(){
					var step=new UpdateActionStep(_$this.id,_$this.currentActionKey,_$this.choose.chooseBtn.x,_$this.choose.chooseBtn.y,_$this.mpanel,_$this.createWithValue.bind(this),_$this.createWithValue.bind(this));
					BlackBox$1.instance.execute(step);
				});
				this.hBox.addChild(this.choose);
			}
			if (param){
				for (var i=0;i < param.length;i++){
					var value;
					if (param[i].value !=null && param[i].value !=undefined){
						value=param[i].value;
					}
					else if (param[i].auto !=null && param[i].auto !=undefined){
						value=param[i].auto;
					}
					else {
						value="";
					};
					var view=new InputMaterialView(this.id,i,param[i].title,value,param[i].type,this.hBox,this.mpanel,"class");
					view.x=i+1;
					this.input.push(view);
					this.hBox.addChild(view);
				}
				this.deleteBtn.x=param.length+1;
			}
			else {
				this.deleteBtn.x=0.3;
			}
			this.hBox.addChild(this.deleteBtn);
		}

		__proto.setInputValue=function(index,value){
			var _input=this.input[index];
			if(_input){
				_input.setInputValue(value);
			}
		}

		__proto.layoutLayer=function(layoutNumber){
			this.hBox.x=layoutNumber *20;
		}

		/**
		*获取画线的位置
		*@return
		*/
		__proto.getDrawPosition=function(){
			return this.title.titleClip;
		}

		return Action;
	})(View)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.property.Property extends laya.ui.View
	var Property=(function(_super){
		function Property(id,mpanel){
			this.id=null;
			this.hBox=null;
			this.mpanel=null;
			this.deleteBtn=null;
			Property.__super.call(this);
			this.input=[];
			this.id=id;
			this.mpanel=mpanel;
			this.hBox=new laya.ui.HBox();
			this.hBox.space=5;
			this.addChild(this.hBox);
			this.name=id;
			this.deleteBtn=new Button();
			this.deleteBtn.width=12;
			this.deleteBtn.height=12;
			this.deleteBtn.skin="play/btn_del.png";
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			this.deleteBtn.visible=false;
			this.deleteBtn.stateNum=2;
			this.on(/*laya.events.Event.MOUSE_OVER*/"mouseover",this,this.onMouseOver);
			this.on(/*laya.events.Event.MOUSE_OUT*/"mouseout",this,this.onMouseOut);
		}

		__class(Property,'laya.ide.plugin.newScript.D_view.B_MaterialView.property.Property',_super);
		var __proto=Property.prototype;
		__proto.onDelete=function(){
			var step=new DeleteStep("property",null,this.id,this.mpanel);
			BlackBox$1.instance.execute(step);
		}

		__proto.onMouseOver=function(){
			this.deleteBtn.visible=true;
		}

		__proto.onMouseOut=function(){
			this.deleteBtn.visible=false;
		}

		__proto.clear=function(){
			for (var i=0;i < this.input.length;i++){
				this.input[i].removeSelf();
			}
			this.input.length=0;
			this.hBox.removeChildren();
		}

		/**
		*根据参数，生成后续对象
		*@param type
		*@param chooseValue
		*@param param
		*/
		__proto.createWithValue=function(conditionsName,conditionsValue,conditionsType){
			this.clear();
			var conditionsNameView=new InputMaterialView(this.id,0,"属性名",conditionsName,"string",this.hBox,this.mpanel,"property");
			conditionsNameView.x=1;
			this.input.push(conditionsNameView);
			this.hBox.addChild(conditionsNameView);
			var conditionsValueview=new InputMaterialView(this.id,1,"属性值",conditionsValue,"自定义",this.hBox,this.mpanel,"property");
			conditionsValueview.x=2;
			this.input.push(conditionsValueview);
			this.hBox.addChild(conditionsValueview);
			var conditionsTypeview=new InputMaterialView(this.id,2,"属性类型",conditionsType,"string",this.hBox,this.mpanel,"property");
			conditionsTypeview.x=3;
			this.input.push(conditionsTypeview);
			this.hBox.addChild(conditionsTypeview);
			this.deleteBtn.x=4;
			this.hBox.addChild(this.deleteBtn);
		}

		__proto.layoutLayer=function(layerNubmer){
			this.x=layerNubmer*20;
		}

		__proto.setInputValue=function(index,value){
			var _input=this.input[index];
			_input.setInputValue(value);
		}

		return Property;
	})(View)


	//class laya.ide.plugin.newScript.D_view.D_OtherView.VarListView2 extends laya.ui.View
	var VarListView2$1=(function(_super){
		function VarListView2(){
			this._createPropertyView=null;
			this.list=null;
			this._deletePool=[];
			this._autoAdjustSize=false;
			this.data=null;
			this.varTypes=null;
			this.configVarTypes=[];
			this.valueData=null;
			this.saveFunc=null;
			this.listItemHeight=26;
			this._deletes=new Array;
			VarListView2.__super.call(this);
			this.left=this.right=0;
			this.list=new PropsInputGroup();
			this.list.left=0;
			this.list.right=25;
			this.list.on(/*laya.ide.props.PropsInputGroup.ValueChanged*/"PropsInputGroup_ValueChanged",this,this.save);
			this.addChild(this.list);
		}

		__class(VarListView2,'laya.ide.plugin.newScript.D_view.D_OtherView.VarListView2',_super,'VarListView2$1');
		var __proto=VarListView2.prototype;
		__proto.initTypes=function(types){
			this._createPropertyView=new CreatePropertyView(types);
		}

		__proto.save=function(){
			this.data.length=0;
			for (var i=0,len=this.varTypes.length;i < len;i++){
				var name=this.varTypes[i].name;
				this.data.push({name:name,type:this.varTypes[i].type,auto:this.valueData[name]});
			}
			this.saveFunc(this.data);
		}

		__proto.createDeleteBtn=function(){
			var closeBtn;
			if (this._deletePool.length > 0){
				closeBtn=this._deletePool.pop();
			}
			else {
				closeBtn=new Button;
				closeBtn.skin='play/btn_del.png';
				closeBtn.stateNum=2;
				closeBtn.size(20,28);
				closeBtn.scaleX=closeBtn.scaleY=.5
				closeBtn.right=15;
				closeBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			};
			var index=this._deletes.length;
			closeBtn.y=index *this.listItemHeight+2;
			this.addChild(closeBtn);
			this._deletes.push(closeBtn);
		}

		__proto.popDeleteBtn=function(){
			var btn=this._deletes.pop();
			btn.removeSelf();
			this._deletePool.push(btn);
		}

		__proto.onAdd=function(parent){
			this._createPropertyView.showByData(this.addVar.bind(this));
			this._createPropertyView.y=30;
			parent.addChild(this._createPropertyView);
		}

		__proto.addVar=function(data){
			var name=data.name;
			if (!name){
				return;
			}
			if (this.valueData.hasOwnProperty(name)){
				laya.editor.comonents.Alert.show('变量'+name+'重复定义!');
				return;
			}
			this.varTypes.push(data);
			if (VarListView2.AutoValue.hasOwnProperty(data.type)){
				this.valueData[data.name]=VarListView2.AutoValue[data.type];
			}
			else {
				this.valueData[data.name]='';
			}
			this.update();
			this.save();
		}

		__proto.onDelete=function(e){
			this.removeByIndex(this._deletes.indexOf(e.currentTarget));
			this.save();
		}

		__proto.removeByIndex=function(index){
			var name=this.varTypes[index].name;
			delete this.valueData[name];
			this.varTypes.splice(index,1);
			this.update();
		}

		__proto.resetData=function(data,saveFunc){
			this.saveFunc=saveFunc;
			this.data=data;
			this.varTypes=data.concat();
			this.valueData={};
			for (var i=0,len=this.varTypes.length;i < len;i++){
				this.valueData[data[i].name]=data[i].auto;
			}
			Laya.timer.callLater(this,this.update);
		}

		__proto.update=function(){
			this.configVarTypes.length=0;
			for (var i=0,len=this.varTypes.length;i < len;i++){
				if (MinScriptSystem.checkIsRes(this.varTypes[i].type)){
					this.configVarTypes.push({name:this.varTypes[i].name,type:"string",accept:this.varTypes[i].type});
				}
				else {
					this.configVarTypes.push(this.varTypes[i]);
				}
			}
			this.list.config=this.configVarTypes;
			this.list.setValueD(this.valueData);
			this.list.height=this.varTypes.length *this.listItemHeight;
			var newlen=this.varTypes.length;
			var oldLen=this._deletes.length;
			if (oldLen < newlen){
				for (;oldLen < newlen;oldLen++){
					this.createDeleteBtn();
				}
			}
			else if (oldLen > newlen){
				for (;oldLen > newlen;newlen++){
					this.popDeleteBtn();
				}
			}
			if (this._autoAdjustSize){
				this.height=this.list.height;
				this.event(/*laya.events.Event.RESIZE*/"resize");
			}
		}

		__getset(0,__proto,'autoAdjustSize',function(){
			return this._autoAdjustSize;
			},function(value){
			this._autoAdjustSize=value;
		});

		VarListView2.DeleteProperty='DeleteProperty';
		__static(VarListView2,
		['AutoValue',function(){return this.AutoValue={bool:false,number:0};}
		]);
		return VarListView2;
	})(View)


	//class laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugEndAction extends laya.ui.View
	var DebugEndAction=(function(_super){
		function DebugEndAction(type){
			this.titleImage=null;
			this.titleText=null;
			DebugEndAction.__super.call(this);
			this.initTitle(type);
		}

		__class(DebugEndAction,'laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugEndAction',_super);
		var __proto=DebugEndAction.prototype;
		__proto.initTitle=function(type){
			if (type=="condition"){
				this.titleImage=this.createImage("scriptPlugin/condition.png");
				this.titleText=this.createText("条件结束","#ff3d00");
			}
			else if (type=="while"){
				this.titleImage=this.createImage("scriptPlugin/while.png");
				this.titleText=this.createText("重复结束","#ffb203");
			}
			else if (type=="delay"){
				this.titleImage=this.createImage("scriptPlugin/with.png");
				this.titleText=this.createText("延时结束","#6f00ff");
			}
			else {
				this.titleImage=this.createImage("scriptPlugin/action.png");
				this.titleText=this.createText("行为结束","#00ffd4");
			}
			NewScriptAPI.AdaptiveText(0,this.titleText);
		}

		__proto.createImage=function(skinPath){
			var image=new Image();
			image.width=20;
			image.height=20;
			image.skin=skinPath;
			return image;
		}

		__proto.createText=function(text,color){
			var txT=new Text();
			txT.text=text;
			txT.color=color;
			txT.height=20;
			return txT;
		}

		__proto.clear=function(){
			this.removeChildren();
		}

		__proto.init=function(layer){
			this.clear();
			var views=this.createViewsAndAddChild();
			LayoutCell$3.HLayout(layer *20,5,views);
		}

		/**
		*创建用来布局用的View数组，并将View添加到当前View中
		*/
		__proto.createViewsAndAddChild=function(){
			var views=[];
			this.addChild(this.titleImage);
			this.addChild(this.titleText);
			views.push(this.titleImage);
			views.push(this.titleText);
			return views;
		}

		return DebugEndAction;
	})(View)


	//class laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugEvent extends laya.ui.View
	var DebugEvent=(function(_super){
		function DebugEvent(id){
			this.id=null;
			this.titleText=null;
			DebugEvent.__super.call(this);
			this.id=id;
			this.createText();
		}

		__class(DebugEvent,'laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugEvent',_super);
		var __proto=DebugEvent.prototype;
		__proto.init=function(title){
			this.clear();
			this.addChild(this.titleText);
			this.titleText.text="当："+title;
			NewScriptAPI.AdaptiveText(0,this.titleText);
		}

		__proto.clear=function(){
			this.removeSelf();
		}

		__proto.createText=function(){
			this.titleText=new Text();
			this.titleText.height=20;
			this.titleText.color="#000000";
		}

		return DebugEvent;
	})(View)


	//class laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugProperty extends laya.ui.View
	var DebugProperty=(function(_super){
		function DebugProperty(id){
			this.id=null;
			DebugProperty.__super.call(this);
			this.views=[];
			this.id=id;
		}

		__class(DebugProperty,'laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugProperty',_super);
		var __proto=DebugProperty.prototype;
		__proto.init=function(param){
			this.clear();
			this.initText(param);
			LayoutCell$3.HLayout(0,5,this.views);
		}

		__proto.clear=function(){
			this.views.length=0;
			this.removeSelf();
		}

		__proto.initText=function(param){
			for (var i=0;i < param.length;i++){
				var text=new Text();
				this.addChild(text);
				text.color="#000000";
				text.height=20;
				this.views.push(text);
				text.text=param[i];
				NewScriptAPI.AdaptiveText(0,text);
			}
		}

		return DebugProperty;
	})(View)


	//class laya.ide.plugin.as3plugin.ui.frameworkTestUI extends laya.ide.plugin.PluginPanel
	var frameworkTestUI=(function(_super){
		function frameworkTestUI(){
			this.iconImage=null;
			this.className=null;
			this.panel=null;
			this.deleteBtn=null;
			this.copyBtn=null;
			this.parseBtn=null;
			this.mText=null;
			this.objNameTf=null;
			this.warnTf=null;
			frameworkTestUI.__super.call(this);
		}

		__class(frameworkTestUI,'laya.ide.plugin.as3plugin.ui.frameworkTestUI',_super);
		var __proto=frameworkTestUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("Text",Text);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(frameworkTestUI.uiView);
		}

		frameworkTestUI.uiView={"type":"PluginPanel","props":{"width":300,"height":600},"compId":1,"child":[{"type":"Image","props":{"y":0,"x":0,"top":0,"skin":"comp/blank2.png","right":0,"left":0,"bottom":0},"compId":6},{"type":"Image","props":{"y":3.5,"x":9,"width":15,"var":"iconImage","skin":"comp/image.png","height":15},"compId":11},{"type":"TextInput","props":{"y":23.5,"x":81,"width":210,"var":"className","skin":"comp/textinput.png","height":14,"color":"#c5c5c5","sizeGrid":"3,3,3,3","padding":"0,5,0,5"},"compId":14},{"type":"Panel","props":{"width":300,"var":"panel","vScrollBarSkin":"comp/vscroll.png","top":40,"right":0,"left":0,"height":543,"bottom":0},"compId":2},{"type":"Button","props":{"y":6,"width":20,"var":"deleteBtn","stateNum":2,"skin":"play/btn_del.png","right":10,"height":28,"scaleX":0.5,"scaleY":0.5},"compId":7},{"type":"Button","props":{"y":5,"var":"copyBtn","stateNum":2,"skin":"play/btn_clone.png","rotation":0,"right":51,"scaleX":0.5,"scaleY":0.5},"compId":8},{"type":"Button","props":{"y":6.5,"var":"parseBtn","stateNum":2,"skin":"play/btn_stop.png","rotation":0,"right":35,"scaleX":0.5,"scaleY":0.5},"compId":9},{"type":"Text","props":{"y":11,"x":0,"width":74,"var":"mText","valign":"middle","height":43,"fontSize":20,"align":"center"},"compId":4},{"type":"Label","props":{"y":5,"x":31.5,"var":"objNameTf","text":"label","styleSkin":"comp/label_common.png","bold":true,"color":"#61737C"},"compId":10},{"type":"Label","props":{"y":5,"var":"warnTf","right":76,"left":66,"height":12,"bold":true},"compId":12},{"type":"Label","props":{"y":23.5,"width":72,"text":"ClassName","right":219,"left":9,"height":14,"bold":true},"compId":13}],"loadList":["comp/blank2.png","comp/image.png","comp/textinput.png","comp/vscroll.png","play/btn_del.png","play/btn_clone.png","play/btn_stop.png","comp/label_common.png"],"loadList3D":[],"components":[]};
		return frameworkTestUI;
	})(PluginPanel)


	//class laya.ide.plugin.as3plugin.ui.ScriptPluginUI extends laya.ide.plugin.PluginPanel
	var ScriptPluginUI=(function(_super){
		function ScriptPluginUI(){
			this.vbox=null;
			this.propertyTitleBox=null;
			this.propertyOpenBtn=null;
			this.propertyBtn=null;
			this.addPropertyBtn=null;
			this.eventTitleBox=null;
			this.eventOpenBtn=null;
			this.addEventBtn=null;
			this.eventOpenLabel=null;
			this.deleteBtn=null;
			this.copyBtn=null;
			this.parseBtn=null;
			this.objNameTf=null;
			this.iconImage=null;
			this.warnTf=null;
			this.className=null;
			ScriptPluginUI.__super.call(this);
		}

		__class(ScriptPluginUI,'laya.ide.plugin.as3plugin.ui.ScriptPluginUI',_super);
		var __proto=ScriptPluginUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ScriptPluginUI.uiView);
		}

		ScriptPluginUI.uiView={"type":"PluginPanel","props":{"y":0,"x":0,"width":300,"title":"脚本","text":"文件","right":0,"pluginClass":"laya.ide.plugin.as3plugin.D_view.A_PluginView.ScriptPlugin","menuTitle":"脚本","menuNotice":"OpenScriptPlugin","labelColors":"#c5c5c5,#c5c5c5,#c5c5c5","label":"保存","index":1,"height":600,"gray":false},"compId":1,"child":[{"type":"Image","props":{"top":0,"skin":"comp/blank2.png","right":0,"left":0,"bottom":0},"compId":15},{"type":"Panel","props":{"width":300,"var":"vbox","vScrollBarSkin":"comp/vscroll.png","top":37,"right":0,"left":0,"height":563,"bottom":0},"compId":14,"child":[{"type":"Box","props":{"var":"propertyTitleBox","right":0,"left":0,"height":20},"compId":27,"child":[{"type":"Clip","props":{"y":6,"x":8,"var":"propertyOpenBtn","skin":"comp/clip_tree.png","index":1,"clipY":2,"width":11,"height":12},"compId":20},{"type":"Label","props":{"y":5,"x":19,"var":"propertyBtn","text":"属性","styleSkin":"comp/label_common.png","bold":true,"color":"#61737C"},"compId":22},{"type":"Button","props":{"y":5,"var":"addPropertyBtn","stateNum":2,"skin":"play/btn_add.png","rotation":0,"right":15,"scaleX":0.5,"scaleY":0.5},"compId":26}],"components":[]},{"type":"Box","props":{"y":17,"x":10,"var":"eventTitleBox","right":0,"left":0,"height":20},"compId":28,"child":[{"type":"Clip","props":{"y":6,"x":8,"var":"eventOpenBtn","skin":"comp/clip_tree.png","index":1,"clipY":2,"width":11,"height":12},"compId":29},{"type":"Button","props":{"y":5,"var":"addEventBtn","stateNum":2,"skin":"play/btn_add.png","rotation":0,"right":15,"scaleX":0.5,"scaleY":0.5},"compId":31},{"type":"Label","props":{"y":5,"x":19,"var":"eventOpenLabel","text":"事件","styleSkin":"comp/label_common.png","bold":true,"color":"#61737C"},"compId":34}],"components":[]}],"components":[]},{"type":"Button","props":{"y":7,"width":20,"var":"deleteBtn","stateNum":2,"skin":"play/btn_del.png","right":17,"height":28,"scaleX":0.5,"scaleY":0.5},"compId":16},{"type":"Button","props":{"y":7,"x":225,"var":"copyBtn","stateNum":2,"skin":"play/btn_clone.png","rotation":0,"right":55,"scaleX":0.5,"scaleY":0.5},"compId":18},{"type":"Button","props":{"y":8,"x":250,"var":"parseBtn","stateNum":2,"skin":"play/btn_stop.png","rotation":0,"right":37,"scaleX":0.5,"scaleY":0.5},"compId":19},{"type":"Label","props":{"y":8,"x":32,"var":"objNameTf","text":"label","styleSkin":"comp/label_common.png","bold":true,"color":"#61737C"},"compId":40},{"type":"Image","props":{"y":7,"x":9,"width":15,"var":"iconImage","skin":"comp/image.png","height":15},"compId":41},{"type":"Label","props":{"y":8,"var":"warnTf","right":76,"left":83,"height":12,"bold":true},"compId":42},{"type":"Label","props":{"y":22,"width":72,"text":"ClassName","right":219,"left":9,"height":14,"bold":true},"compId":44},{"type":"TextInput","props":{"y":21,"x":83,"width":210,"var":"className","skin":"comp/textinput.png","height":14,"color":"#c5c5c5","sizeGrid":"3,3,3,3","padding":"0,5,0,5"},"compId":45}],"loadList":["comp/blank2.png","comp/vscroll.png","comp/clip_tree.png","comp/label_common.png","play/btn_add.png","play/btn_del.png","play/btn_clone.png","play/btn_stop.png","comp/image.png","comp/textinput.png"],"loadList3D":[],"components":[]};
		return ScriptPluginUI;
	})(PluginPanel)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionCellMaterial extends laya.ide.plugin.as3plugin.ui.PropertyViewUI
	var ActionCellMaterial=(function(_super){
		function ActionCellMaterial(){
			this.codeexp=null;
			this.action=null;
			ActionCellMaterial.__super.call(this);
			this.inputTf.inputTf.on(/*laya.events.Event.INPUT*/"input",this,this.onBlur);
			this.inputTf.menuBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onMenu);
			new DragMaterial(this.inputTf.inputTf,this.onSelectVar.bind(this));
		}

		__class(ActionCellMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionCellMaterial',_super);
		var __proto=ActionCellMaterial.prototype;
		__proto.onMenu=function(){
			if (this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Code*/'code'){
				this.action.parentEventView.showVarMenu(this.onSelectVar.bind(this),this.inputTf.inputTf,-1);
			}
			else {
				this.action.parentEventView.showVarMenu(this.onSelectVar.bind(this),this.inputTf.inputTf,this.codeexp.isCodeMode ? 1 :0);
			}
		}

		__proto.onSelectVar=function(data){
			if ((typeof data=='string')){
				this.inputTf.text=data;
			}
			else{
				var name=data.other ? data.other :data.name;
				if (name==ActionCellMaterial.CanleCodeMode || name==ActionCellMaterial.CodeMode){
					this.changeCodeMode(!this.codeexp.isCodeMode);
				}
				else {
					this.changeCodeMode(true);
					this.inputTf.text=name;
				}
			}
			this.onBlur();
		}

		__proto.onBlur=function(){
			this.onCheckWarn();
			this.onChange();
		}

		__proto.onCheckWarn=function(){
			var text=this.inputTf.text;
			if (!this.codeexp.isCodeMode){
				if (this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Number*/'number'){
					if (ActionCellMaterial.numberExp.test(text)){
						this.inputTf.setWarn(false);
					}
					else {
						this.inputTf.setWarn(true,'非浮点数类型');
					}
				}
				else if (this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Bool*/'bool'){
					if (text=='true' || text=='false'){
						this.inputTf.setWarn(false);
					}
					else {
						this.inputTf.setWarn(true,'非布尔类型');
					}
				}
				else {
					this.inputTf.setWarn(false);
				}
			}
			else {
				try {
					Browser.window.eval(text);
					this.inputTf.setWarn(false);
				}
				catch (e){
					if (e.message.indexOf('is not defined')>=0){
						this.inputTf.setWarn(false);
					}
					else {
						this.inputTf.setWarn(true,'表达式错误:'+this.warnToCHZ(e.message));
					}
				}
			}
		}

		__proto.warnToCHZ=function(str){
			return str;
		}

		__proto.onChange=function(){
			this.textToExp();
		}

		__proto.changeCodeMode=function(isCodeMode){
			if (this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Code*/'code')return;
			this.codeexp.isCodeMode=isCodeMode;
			if (!this.codeexp.isCodeMode){
				this.codeexp.value='';
			}
			this.expToText();
			this.checkRegit();
		}

		__proto.init=function(action,value,name){
			this.action=action;
			this.codeexp=value;
			this.valueTf.text=name;
			this.expToText();
			this.onCheckWarn();
			this.checkRegit();
		}

		__proto.checkRegit=function(){
			if (ScriptPlugin.instance.classExp.version > 0 && this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Number*/'number' && !this.codeexp.isCodeMode){
				this.inputTf.inputTf.restrict='0-9.-';
			}
			else {
				this.inputTf.inputTf.restrict='';
			}
			if (this.codeexp.isCodeMode || this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_Code*/'code'){
				this.inputTf.inputTf.skin='comp/input_32_selected.png';
			}
			else {
				this.inputTf.inputTf.skin='comp/input_32.png';
			}
		}

		__proto.expToText=function(){
			var str=this.codeexp.value ? this.codeexp.value+'' :'';
			if (ScriptPlugin.instance.classExp.version > 0 && this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_String*/'string' && !this.codeexp.isCodeMode){
				ActionCellMaterial.stringexp.lastIndex=0;
				if (str && ActionCellMaterial.stringexp.test(str)){
					str=str.substring(1,str.length-1);
				}
				this.inputTf.text=str;
			}
			else {
				this.inputTf.text=str;
			}
		}

		__proto.textToExp=function(){
			if (ScriptPlugin.instance.classExp.version >=0 && this.codeexp.type==/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Type_String*/'string' && !this.codeexp.isCodeMode){
				this.codeexp.value='"'+this.inputTf.text+'"';
			}
			else {
				this.codeexp.value=this.inputTf.text;
			}
			ScriptPlugin.instance.change();
		}

		ActionCellMaterial.CanleCodeMode='取消代码模式';
		ActionCellMaterial.CodeMode='切换代码模式';
		__static(ActionCellMaterial,
		['numberExp',function(){return this.numberExp=/^(-|0x){0,1}[0-9]+(.[0-9]*){0,1}$/i;},'stringexp',function(){return this.stringexp=/['"].*['"]/g;}
			]);
			return ActionCellMaterial;
		})(PropertyViewUI)

	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionCellMaterial_GC extends laya.ide.plugin.as3plugin.ui.PropertyViewUI
	var ActionCellMaterial_GC=(function(_super){
		function ActionCellMaterial_GC(eventID,actionID,paramID,titleString,inputType,defaultValue){
			this.value=null;
			this.inputType=null;
			ActionCellMaterial_GC.__super.call(this);
			this.inputType=inputType;
			this.initLabel(titleString,defaultValue);
			this.initInput();
			this.initMenuBtn();
			this.initMouseDrag();
		}

		__class(ActionCellMaterial_GC,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionCellMaterial_GC',_super);
		var __proto=ActionCellMaterial_GC.prototype;
		__proto.initLabel=function(titleString,defaultValue){
			this.valueTf.text=titleString;
			if(defaultValue){
				this.inputTf.text=defaultValue;
			}
		}

		__proto.initInput=function(){
			this.inputTf.inputTf.on(/*laya.events.Event.INPUT*/"input",this,this.onBlur);
		}

		__proto.onBlur=function(){
			var input=new KeyInputStep(this.value,"");
			input.AddCallBack(CallBackGlobalName.listInputNormalEnd,this.inputNormalEndCallBack);
			input.AddCallBack(CallBackGlobalName.listInputRevocation,this.inputRevocation);
			BlackBox.instance.execute(input);
		}

		__proto.initMenuBtn=function(){
			this.inputTf.menuBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onMenu);
		}

		__proto.onMenu=function(){
			var input=new ListInputStep(this.value);
			input.AddCallBack(CallBackGlobalName.listInputNormalEnd,this.inputNormalEndCallBack);
			input.AddCallBack(CallBackGlobalName.listInputRevocation,this.inputRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*初始化鼠标拖拽区域
		*/
		__proto.initMouseDrag=function(){
			new DragMaterial(this.inputTf.inputTf,this.onSelectVar.bind(this));
		}

		__proto.onSelectVar=function(){
			var input=new MouseDragStep(this.value);
			input.AddCallBack(CallBackGlobalName.listInputNormalEnd,this.inputNormalEndCallBack);
			input.AddCallBack(CallBackGlobalName.listInputRevocation,this.inputRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*“输入正常结束”的回调
		*/
		__proto.inputNormalEndCallBack=function(value){}
		/**
		*“撤销输入”的回调
		*/
		__proto.inputRevocation=function(value){}
		return ActionCellMaterial_GC;
	})(PropertyViewUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionTitleMaterial extends laya.ide.plugin.as3plugin.ui.ActionViewUI
	var ActionTitleMaterial=(function(_super){
		function ActionTitleMaterial(){
			this.parentEventView=null;
			this._isDragMode=false;
			this.exp=null;
			this.paramNames=null;
			this.propertys=new Array;
			ActionTitleMaterial.__super.call(this);
			this.deleteBtn.y=4;
			this.deleteBtn.right=9;
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			this.clickBox.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onDragStart);
			this.left=this.right=0;
			this.conditionBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCondition);
			this.vbox['sortItem']=function (items){
			};
			this.conditionBtn.labelSize=12;
		}

		__class(ActionTitleMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionTitleMaterial',_super);
		var __proto=ActionTitleMaterial.prototype;
		__proto.onDragStart=function(){
			this.parentEventView.startDragAction(this);
		}

		__proto.onCondition=function(){
			ConditionView.instance.showByData(this.exp.condition,this.onConditionEnd.bind(this));
		}

		__proto.onConditionEnd=function(exp){
			this.exp.condition=exp;
			this.updateCondition();
			ScriptPlugin.instance.change();
		}

		__proto.onDelete=function(){
			ScriptPlugin.instance.showCheckAlert('警告','确定删除行为吗？',this.onDeleteEnd.bind(this));
		}

		__proto.onDeleteEnd=function(isDe){
			if (isDe){
				this.parentEventView.removeAction(this);
			}
		}

		__proto.init=function(parentEventView,exp){
			this.parentEventView=parentEventView;
			this.exp=exp;
			var desc=exp.desc;
			if(desc==null){return;};
			var name=exp.name;
			this.nameTf.text=desc ? desc.title :name;
			var paramValue=exp.getParam();
			var i=0;
			this.paramNames=desc.param || [];
			var len=paramValue.length;
			this.updateCondition();
			for (;i < len;i++){
				var pview=new ActionCellMaterial;
				pview.init(this,(paramValue [i]),this.paramNames[i] ? this.paramNames[i].title :'param'+i);
				this.vbox.addChild(pview);
			}
			this.callLater(this.updateRezie);
		}

		__proto.updateCondition=function(){
			this.conditionBtn.gray=this.exp.condition==null;
		}

		__proto.updateRezie=function(){
			this.height=30+this.vbox.height;
			this.changeSize();
		}

		__getset(0,__proto,'isDragMode',function(){
			return this._isDragMode;
			},function(value){
			this._isDragMode=value;
			if (this._isDragMode){
				this.alpha=0.5;
			}
			else {
				this.alpha=1;
			}
		});

		return ActionTitleMaterial;
	})(ActionViewUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionTitleMaterial_GC extends laya.ide.plugin.as3plugin.ui.ActionViewUI
	var ActionTitleMaterial_GC=(function(_super){
		function ActionTitleMaterial_GC(eventID,actionID,titleName,actionKey,mParent){
			this.eventID=NaN;
			this.actionID=NaN;
			this.actionKey=null;
			this.mParent=null;
			ActionTitleMaterial_GC.__super.call(this);
			this.eventID=eventID;
			this.actionID=actionID;
			this.actionKey=actionKey;
			this.mParent=mParent;
			this.initSelf(titleName);
			this.initConditionBtn();
		}

		__class(ActionTitleMaterial_GC,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.action.ActionTitleMaterial_GC',_super);
		var __proto=ActionTitleMaterial_GC.prototype;
		/**
		*初始化自身
		*/
		__proto.initSelf=function(titleName){
			this.left=this.right=0;
			this.nameTf.text=titleName;
			this.conditionBtn.gray=true;
		}

		/**
		*初始化删除行为的功能
		*/
		__proto.initDeleteBtn=function(){
			this.deleteBtn.y=4;
			this.deleteBtn.right=9;
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
		}

		__proto.onDelete=function(){
			var del=new RemoveActionStep(/*no*/this.value);
			del.AddCallBack(CallBackGlobalName.deleteNormalEnd,this.deleteActionNormalEnd);
			del.AddCallBack(CallBackGlobalName.deleteRevocation,this.deleteActionRevocation);
			BlackBox.instance.execute(del);
		}

		/**
		*删除行为正常结束的回调
		*/
		__proto.deleteActionNormalEnd=function(){}
		/**
		*“撤销删除行为”的回调
		*/
		__proto.deleteActionRevocation=function(){}
		/**
		*初始化拖拽行为的功能
		*/
		__proto.initClickBox=function(){
			this.clickBox.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onDragStart);
		}

		__proto.onDragStart=function(){
			var drag=new DragActionStep(/*no*/this.value,null);
			drag.AddCallBack(CallBackGlobalName.dragNormalEnd,this.dragNormalEnd);
			drag.AddCallBack(CallBackGlobalName.dragRevocation,this.dragRevocation);
			drag.execute();
		}

		/**
		*注册拖拽开始的正常结束的回调
		*/
		__proto.dragNormalEnd=function(){}
		/**
		*注册撤销拖拽开始的回调
		*/
		__proto.dragRevocation=function(){}
		/**
		*初始化条件按钮
		*/
		__proto.initConditionBtn=function(){
			this.conditionBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCondition);
			this.conditionBtn.labelSize=12;
		}

		__proto.onCondition=function(){
			AddConditionCell.execute(this.actionID,this.modifyConditionEndCallBack.bind(this));
		}

		/**
		*添加条件结束后的回调
		*@param value
		*/
		__proto.modifyConditionEndCallBack=function(value){
			this.conditionBtn.gray=value?false:true;
		}

		/**
		*撤销"修改条件"的回掉
		*@param value
		*/
		__proto.revocationConditionCallBack=function(value){}
		/**
		*初始化Vbox
		*/
		__proto.initVbox=function(){
			this.vbox['sortItem']=function (items){
			};
		}

		return ActionTitleMaterial_GC;
	})(ActionViewUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.GlobalOrPrivatePropertyPanelListMaterial_GC extends laya.ide.plugin.as3plugin.ui.VarListViewUI
	var GlobalOrPrivatePropertyPanelListMaterial_GC=(function(_super){
		function GlobalOrPrivatePropertyPanelListMaterial_GC(value){
			this.list=null;
			this.value=null;
			GlobalOrPrivatePropertyPanelListMaterial_GC.__super.call(this);
			this.value=value;
			this.initSelf();
			this.initPropsInputGroup();
			this.initAddBtn();
		}

		__class(GlobalOrPrivatePropertyPanelListMaterial_GC,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.GlobalOrPrivatePropertyPanelListMaterial_GC',_super);
		var __proto=GlobalOrPrivatePropertyPanelListMaterial_GC.prototype;
		/**
		*初始化自身
		*/
		__proto.initSelf=function(){
			this.left=this.right=0;
		}

		/**
		*初始化PropsInputGroup
		*/
		__proto.initPropsInputGroup=function(){
			this.list=new PropsInputGroup();
			this.list.left=0;
			this.list.right=25;
			this.list.on(/*laya.ide.props.PropsInputGroup.ValueChanged*/"PropsInputGroup_ValueChanged",this,this.save);
			this.box.addChild(this.list);
		}

		__proto.save=function(){}
		/**
		*初始化添加属性的按钮
		*/
		__proto.initAddBtn=function(){
			this.addBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onAdd);
		}

		__proto.onAdd=function(){
			var add=new AddGlobalOrPrivateVariableStep(this.value);
			add.AddCallBack(CallBackGlobalName.addNormalEnd,this.addNormalEnd);
			add.AddCallBack(CallBackGlobalName.addRevocation,this.addRevocation);
			BlackBox.instance.execute(add);
		}

		/**
		*添加属性正常结束
		*/
		__proto.addNormalEnd=function(){}
		/**
		*撤销添加属性
		*/
		__proto.addRevocation=function(){}
		__proto.onRemove=function(){
			var remove=new RemoveGlobalOrPrivateVariableStep(this.value);
			remove.AddCallBack(CallBackGlobalName.deleteNormalEnd,this.removePrivate);
			remove.AddCallBack(CallBackGlobalName.deleteRevocation,this.removeRevocation);
			BlackBox.instance.execute(remove);
		}

		/**
		*删除属性正常结束
		*/
		__proto.removePrivate=function(){}
		/**
		*撤销删除属性
		*/
		__proto.removeRevocation=function(){}
		__proto.onClose=function(){
			var close=new CloseGlobalOrPrivateVariablePanelStep(this.value);
			close.AddCallBack(CallBackGlobalName.closePanel,this.closePanel);
			close.AddCallBack(CallBackGlobalName.closePanel,this.closeRevocation);
		}

		/**
		*关闭Panel
		*/
		__proto.closePanel=function(){}
		/**
		*撤销关闭Panel
		*/
		__proto.closeRevocation=function(){}
		return GlobalOrPrivatePropertyPanelListMaterial_GC;
	})(VarListViewUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial extends laya.ide.plugin.as3plugin.ui.VarListViewUI
	var PropertyPanelListMaterial=(function(_super){
		function PropertyPanelListMaterial(){
			this._createPropertyView=null;
			this.list=null;
			this._deletePool=[];
			this._autoAdjustSize=false;
			this.data=null;
			this.varTypes=null;
			this.configVarTypes=[];
			this.valueData=null;
			this.saveFunc=null;
			this.listItemHeight=26;
			this._deletes=new Array;
			PropertyPanelListMaterial.__super.call(this);
			this.addBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onAdd);
			this.left=this.right=0;
			this.list=new PropsInputGroup();
			this.list.left=0;
			this.list.right=25;
			this.list.on(/*laya.ide.props.PropsInputGroup.ValueChanged*/"PropsInputGroup_ValueChanged",this,this.save);
			this.box.addChild(this.list);
		}

		__class(PropertyPanelListMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial',_super);
		var __proto=PropertyPanelListMaterial.prototype;
		__proto.initTypes=function(types){
			console.log(types);
			this._createPropertyView=new CreatePropertyView(types);
		}

		__proto.onClose=function(){
			this.save();
			this._createPropertyView.removeSelf();
			this.removeSelf();
		}

		__proto.save=function(){
			this.data.length=0;
			for(var i=0,len=this.varTypes.length;i<len;i++){
				var name=this.varTypes[i].name;
				this.data.push({name:name,type:this.varTypes[i].type,auto:this.valueData[name]});
			}
			this.saveFunc(this.data);
		}

		__proto.createDeleteBtn=function(){
			var closeBtn;
			if(this._deletePool.length>0){
				closeBtn=this._deletePool.pop();
			}
			else{
				closeBtn=new Button;
				closeBtn.skin='play/btn_del.png';
				closeBtn.stateNum=2;
				closeBtn.size(20,28);
				closeBtn.scaleX=closeBtn.scaleY=.5;
				closeBtn.right=15;
				closeBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			};
			var index=this._deletes.length;
			closeBtn.y=index*this.listItemHeight+2;
			this.box.addChild(closeBtn);
			this._deletes.push(closeBtn);
		}

		__proto.popDeleteBtn=function(){
			var btn=this._deletes.pop();
			btn.removeSelf();
			this._deletePool.push(btn);
		}

		__proto.onAdd=function(){
			this._createPropertyView.showByData(this.addVar.bind(this));
			this._createPropertyView.y=this.height-this._createPropertyView.height;
			this.addChild(this._createPropertyView);
		}

		//添加属性data{name:***,type:***}
		__proto.addVar=function(data){
			var name=data.name;
			if(!name){
				return;
			}
			console.log(this.valueData);
			if(this.valueData.hasOwnProperty(name)){
				laya.editor.comonents.Alert.show('变量'+name+'重复定义!');
				return;
			}
			this.varTypes.push(data);
			if(PropertyPanelListMaterial.AutoValue.hasOwnProperty(data.type)){
				this.valueData[data.name]=PropertyPanelListMaterial.AutoValue[data.type];
			}
			else{
				this.valueData[data.name]='';
			}
			this.update();
			this.save();
		}

		__proto.onDelete=function(e){
			this.removeByIndex(this._deletes.indexOf(e.currentTarget));
			this.save();
		}

		__proto.removeByIndex=function(index){
			var name=this.varTypes[index].name;
			delete this.valueData[name];
			this.varTypes.splice(index,1);
			this.update();
		}

		__proto.resetData=function(data,saveFunc){
			this.saveFunc=saveFunc;
			if(data){
				this.data=data;
				this.varTypes=data.concat();
			}
			else{
				this.data=[];
				this.varTypes=[];
			}
			this.valueData={};
			for(var i=0,len=this.varTypes.length;i<len;i++){
				this.valueData[data[i].name]=data[i].auto;
			}
			console.log("1:",this.valueData);
			Laya.timer.callLater(this,this.update);
		}

		__proto.update=function(){
			this.configVarTypes.length=0;
			for(var i=0,len=this.varTypes.length;i<len;i++){
				if(MinScriptSystem.checkIsRes(this.varTypes[i].type)){
					this.configVarTypes.push({name:this.varTypes[i].name,type:"string",accept:this.varTypes[i].type});
				}
				else{
					this.configVarTypes.push(this.varTypes[i]);
				}
			}
			this.list.config=this.configVarTypes;
			this.list.setValueD(this.valueData);
			this.list.height=this.varTypes.length*this.listItemHeight;
			var newlen=this.varTypes.length;
			var oldLen=this._deletes.length;
			if(oldLen<newlen){
				for(;oldLen<newlen;oldLen++){
					this.createDeleteBtn();
				}
			}
			else if(oldLen>newlen){
				for(;oldLen>newlen;newlen++){
					this.popDeleteBtn();
				}
			}
			if(this._autoAdjustSize){
				this.height=Math.max(200,this.list.height+this.addBtn.height);
				this.event(/*laya.events.Event.RESIZE*/"resize");
			}
		}

		// list.on(DeleteProperty,this,removeVar);
		__getset(0,__proto,'autoAdjustSize',function(){
			return this._autoAdjustSize;
			},function(value){
			this._autoAdjustSize=value;
		});

		PropertyPanelListMaterial.DeleteProperty='DeleteProperty';
		__static(PropertyPanelListMaterial,
		['AutoValue',function(){return this.AutoValue={bool:false,number:0};}
		]);
		return PropertyPanelListMaterial;
	})(VarListViewUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.TitleMaterial extends laya.ide.plugin.as3plugin.ui.TitleViewUI
	var TitleMaterial=(function(_super){
		function TitleMaterial(viewID,openBtnFunction,titleName,addBtnFunction){
			this.viewID=NaN;
			this.openBtnFunction=null;
			this.isOpen=false;
			this.addBtnFunction=null;
			TitleMaterial.__super.call(this);
			this.viewID=viewID;
			this.openBtnFunction=openBtnFunction;
			this.addBtnFunction=addBtnFunction;
			this.initOpenBtn();
			this.initLabel(titleName);
			this.initAddBtn();
		}

		__class(TitleMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.TitleMaterial',_super);
		var __proto=TitleMaterial.prototype;
		__proto.initOpenBtn=function(){
			var _$this=this;
			this.openBtn.on(/*laya.events.Event.CLICK*/"click",this,function(){
				_$this.openBtnFunction(_$this.viewID,_$this.isOpen,_$this.openBtn);
				_$this.isOpen=!_$this.isOpen;
				_$this.openBtn.index=_$this.isOpen ? 1 :0;
			});
		}

		__proto.initLabel=function(value){
			this.titleName.text=value;
		}

		__proto.initAddBtn=function(){
			var _$this=this;
			this.addBtn.on(/*laya.events.Event.CLICK*/"click",this,function(){
				_$this.addBtnFunction(_$this.viewID,_$this.addBtn);
			});
		}

		return TitleMaterial;
	})(TitleViewUI)


	//class laya.ide.plugin.as3plugin.ui.ConditionViewUI extends laya.ui.Dialog
	var ConditionViewUI=(function(_super){
		function ConditionViewUI(){
			this.inputTf=null;
			ConditionViewUI.__super.call(this);
		}

		__class(ConditionViewUI,'laya.ide.plugin.as3plugin.ui.ConditionViewUI',_super);
		var __proto=ConditionViewUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ConditionViewUI.uiView);
		}

		ConditionViewUI.uiView={"type":"Dialog","props":{"width":600,"height":150,"eventscript":"code/dd3c4d8aeede7cb693435e64eb820d31.txt"},"compId":1,"child":[{"type":"Image","props":{"y":20,"x":20,"top":0,"skin":"view/bg_panel4.png","right":0,"name":"Back","left":0,"bottom":0,"sizeGrid":"4,4,4,4"},"compId":2},{"type":"Button","props":{"y":5,"x":270,"width":44,"skin":"view/btn_close.png","name":"close","height":44,"scaleX":0.5,"scaleY":0.5,"right":10},"compId":10},{"type":"Label","props":{"y":5,"x":9,"width":69,"text":"条件","styleSkin":"comp/Label1.png","height":21,"color":"#999999"},"compId":12},{"type":"Button","props":{"y":5,"width":25,"skin":"comp/button.png","name":"ok","label":"添加","height":22,"centerX":247,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":15},{"type":"TextArea","props":{"y":30,"x":16,"wordWrap":true,"width":574,"var":"inputTf","vScrollBarSkin":"comp/vscroll.png","type":"text","skin":"comp/input_22_selected.png","promptColor":"#ffffff","height":111,"editable":true,"color":"#ffffff"},"compId":16}],"loadList":["code/dd3c4d8aeede7cb693435e64eb820d31.txt","view/bg_panel4.png","view/btn_close.png","comp/Label1.png","comp/button.png","comp/vscroll.png","comp/input_22_selected.png"],"loadList3D":[],"components":[]};
		return ConditionViewUI;
	})(Dialog)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellMaterial extends laya.ide.plugin.as3plugin.ui.InputListUI
	var EventCellMaterial=(function(_super){
		function EventCellMaterial(){
			this._isWarn=false;
			EventCellMaterial.__super.call(this);
		}

		__class(EventCellMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventCellMaterial',_super);
		var __proto=EventCellMaterial.prototype;
		__proto.setMenuBtnWidth=function(v){
			this.menuBtn.width=v;
			this.inputTf.right=this.menuBtn.width+this.menuBtn.right;
		}

		__proto.setWarn=function(value,warn){
			(warn===void 0)&& (warn='');
			this._isWarn=value;
			if(value){
				this.inputTf.color='#ff0000';
				this.toolTip=warn;
			}
			else{
				this.toolTip='';
				this.inputTf.color='#61737C';
			}
		}

		__getset(0,__proto,'enabled',null,function(value){
			this.inputTf.editable=value;
			this.menuBtn.disabled=!value;
		});

		__getset(0,__proto,'text',function(){
			return this.inputTf.text;
			},function(value){
			this.inputTf.text=value;
		});

		EventCellMaterial.WarnColor='#ff0000';
		EventCellMaterial.AutoColor='#61737C';
		return EventCellMaterial;
	})(InputListUI)


	//class laya.ide.plugin.as3plugin.ui.LocalPropertyViewUI extends laya.ui.Dialog
	var LocalPropertyViewUI=(function(_super){
		function LocalPropertyViewUI(){
			this.varList=null;
			LocalPropertyViewUI.__super.call(this);
		}

		__class(LocalPropertyViewUI,'laya.ide.plugin.as3plugin.ui.LocalPropertyViewUI',_super);
		var __proto=LocalPropertyViewUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial",PropertyPanelListMaterial);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(LocalPropertyViewUI.uiView);
		}

		LocalPropertyViewUI.uiView={"type":"Dialog","props":{"width":500,"height":400},"compId":1,"child":[{"type":"Image","props":{"y":10,"x":10,"top":0,"skin":"view/bg_dialog.png","right":0,"left":0,"bottom":0,"sizeGrid":"47,20,22,37"},"compId":2},{"type":"Button","props":{"y":0,"skin":"view/btn_close.png","right":18,"name":"close","scaleX":0.5,"scaleY":0.5},"compId":3},{"type":"VarListView","props":{"y":10,"x":10,"var":"varList","top":46,"runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial","right":10,"left":10,"bottom":10},"compId":4},{"type":"Label","props":{"y":7,"text":"属性","styleSkin":"comp/Label1.png","label":"全局属性","fontSize":20,"color":"#ffffff","centerX":0},"compId":5}],"loadList":["view/bg_dialog.png","view/btn_close.png","VarListView.scene","comp/Label1.png"],"loadList3D":[],"components":[]};
		return LocalPropertyViewUI;
	})(Dialog)


	//class laya.ide.plugin.as3plugin.ui.ChooseViewUI extends laya.ui.Dialog
	var ChooseViewUI=(function(_super){
		function ChooseViewUI(){
			this.list=null;
			ChooseViewUI.__super.call(this);
		}

		__class(ChooseViewUI,'laya.ide.plugin.as3plugin.ui.ChooseViewUI',_super);
		var __proto=ChooseViewUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(ChooseViewUI.uiView);
		}

		ChooseViewUI.uiView={"type":"Dialog","props":{"y":0,"x":0,"width":300,"height":200,"eventscript":"code/1baa509833199e319ed864236d4be83f.txt"},"compId":1,"child":[{"type":"Image","props":{"top":0,"skin":"comp/blank2.png","right":0,"left":0,"bottom":0},"compId":2},{"type":"Button","props":{"y":134,"x":160,"skin":"comp/button.png","name":"cancel","label":"cancel","labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":3},{"type":"Button","props":{"y":134,"x":17,"skin":"comp/button.png","name":"ok","label":"ok","labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":4},{"type":"Button","props":{"y":10,"x":269,"width":44,"skin":"view/btn_close.png","name":"close","height":44,"scaleX":0.5,"scaleY":0.5,"right":10},"compId":5},{"type":"ComboBox","props":{"y":62,"x":17,"width":263,"var":"list","skin":"comp/combo_20.png","labels":"label1,label2","height":38,"sizeGrid":"0,20,0,3","labelColors":"#61737C,#61737C,#61737C,#c5c5c5"},"compId":6}],"loadList":["code/1baa509833199e319ed864236d4be83f.txt","comp/blank2.png","comp/button.png","view/btn_close.png","comp/combo_20.png"],"loadList3D":[],"components":[]};
		return ChooseViewUI;
	})(Dialog)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventTitleMaterial extends laya.ide.plugin.as3plugin.ui.EventViewUI
	var EventTitleMaterial=(function(_super){
		function EventTitleMaterial(){
			this.parentScript=null;
			this.funcExp=null;
			this._isOpen=true;
			this.curDragAction=null;
			this.startMouseY=NaN;
			this.startViewY=NaN;
			this.actions=new Array;
			EventTitleMaterial.__super.call(this);
			this.conditionBtn.labelSize=12;
			this.addActionBtn.labelSize=12;
			this.proBtn.labelSize=12;
			this.deleteBtn.y=6;
			this.deleteBtn.right=9;
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			this.addActionBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onAddAction);
			this.left=this.right=0;
			this.conditionBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCondition);
			this.ownerNameInput.menuBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onFocusTarget);
			this.ownerNameInput.inputTf.on(/*laya.events.Event.BLUR*/"blur",this,this.onTargetBlur);
			this.ownerNameInput.toolTip='监听对象';
			this.customeventInput.menuBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onEventNameFocus);
			this.customeventInput.inputTf.on(/*laya.events.Event.BLUR*/"blur",this,this.onEventNameBlur);
			this.customeventInput.toolTip='监听事件';
			this.proBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onProperty);
			this.vbox['sortItem']=function (items){
			};
			this.minBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onMinChange);
		}

		__class(EventTitleMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventTitleMaterial',_super);
		var __proto=EventTitleMaterial.prototype;
		__proto.onEventNameFocus=function(){
			ScriptPlugin.instance.showMenu(this.onSelectEvent.bind(this),ScriptPlugin.instance.getEventGroup2());
		}

		__proto.onSelectEvent=function(data){
			var funcExp;
			this.customeventInput.text=data.name;
			this.onEventNameBlur();
		}

		__proto.onProperty=function(){
			LocalPropertyView.instance.showByData(this.funcExp,this.updateProperty.bind(this));
		}

		__proto.onMinChange=function(){
			this.isOpen=!this.isOpen;
		}

		__proto.onFocusTarget=function(){
			ScriptPlugin.instance.showMenu(this.onSelectTarget.bind(this),ScriptPlugin.instance.getEventTargets(),this.ownerNameInput);
		}

		__proto.onSelectTarget=function(data){
			this.ownerNameInput.text=data.other ? data.other :data.name;
			this.onTargetBlur();
		}

		__proto.onTargetBlur=function(){
			this.funcExp.ownerName=this.ownerNameInput.text;
			ScriptPlugin.instance.change();
		}

		__proto.onEventNameBlur=function(){
			this.funcExp.customevent=this.customeventInput.text;
			ScriptPlugin.instance.change();
		}

		__proto.onCondition=function(e){
			ConditionView.instance.showByData(this.funcExp.condition,this.onConditionEnd.bind(this));
		}

		__proto.onConditionEnd=function(exp){
			this.funcExp.condition=exp;
			this.updateCondition();
			ScriptPlugin.instance.change();
		}

		__proto.updateCondition=function(){
			this.conditionBtn.gray=this.funcExp.condition==null;
		}

		__proto.onAddAction=function(){
			ScriptPlugin.instance.showMenu(this.onCretaAction.bind(this),MakerSystemActionContainer.expressGroup.getGroup());
		}

		__proto.onCretaAction=function(data){
			this.createActionByCode(JsonToEXP.createCallExp(MakerSystemActionContainer.expressByTitle.finder(data.name)));
			ScriptPlugin.instance.change();
		}

		__proto.onDelete=function(e){
			ScriptPlugin.instance.showCheckAlert('警告','确定删除事件吗？',this.onDeleteOK.bind(this));
		}

		__proto.onDeleteOK=function(isOK){
			if (isOK){
				this.parentScript.removeEventView(this);
			}
		}

		__proto.init=function(parentScript,funcExp){
			this.parentScript=parentScript;
			this.funcExp=funcExp;
			var eventConfig=funcExp.desc;
			if (eventConfig && eventConfig.nameCanEdit){
				if (eventConfig.title=="行为函数"){
					this.customeventInput.visible=false;
					this.eventNameTf.text=funcExp.functionName;
				}
				else {
					this.eventNameTf.visible=false;
					this.customeventInput.text=funcExp.customevent;
				}
			}
			else {
				this.customeventInput.visible=false;
				this.eventNameTf.text=eventConfig ? eventConfig.title :funcExp.functionName;
			}
			this.updateCondition();
			this.updateProperty();
			if (eventConfig && eventConfig.targetCanEdit){
				this.ownerNameInput.text=funcExp.getOwnerName();
			}
			else {
				this.ownerNameInput.visible=false;
			}
			var temp;
			/*for each*/for(var $each_temp in funcExp.body.children){
				temp=funcExp.body.children[$each_temp];
				this.createAction(temp);
			}
		}

		__proto.updateProperty=function(){
			this.proBtn.gray=this.funcExp.vars.length==0;
		}

		__proto.createActionByCode=function(callExp){
			this.funcExp.body.addChildExp(callExp);
			this.createAction(callExp);
		}

		__proto.createAction=function(exp){
			var actionView=new ActionTitleMaterial;
			actionView.init(this,exp);
			this.vbox.addChild(actionView);
			this.actions.push(actionView);
			actionView.on(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			this.callLater(this.updateRezie);
		}

		__proto.removeAction=function(view){
			this.actions.splice(this.actions.indexOf(view),1);
			view.removeSelf();
			view.on(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			this.funcExp.body.removeChildExp(view.exp);
			this.callLater(this.updateRezie);
			ScriptPlugin.instance.change();
		}

		__proto.updateLayout=function(){
			var len=this.actions.length;
			var tempY=0;
			for (var i=0;i < len;i++){
				var actionView=this.actions[i];
				actionView.width=this._width;
				actionView.pos(0,tempY);
				tempY+=actionView.height;
			}
			this.vbox.height=tempY;
		}

		__proto.updateRezie=function(){
			this.updateLayout();
			if (this.vbox.parent){
				this.height=30+this.vbox.height;
			}
			else {
				this.height=30;
			}
			this.changeSize();
		}

		__proto.startDragAction=function(view){
			this.startViewY=view.y;
			this.curDragAction=view;
			this.startMouseY=this.vbox.mouseY;
			this.curDragAction.isDragMode=true;
			Laya.timer.frameLoop(1,this,this.onDragFrame);
			Laya.stage.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.endDragAction);
		}

		__proto.onDragFrame=function(){
			var len=this.actions.length;
			var tempY=0;
			var curIndex=-1;
			var targetIndex=-1;
			var mouseY=this.vbox.mouseY;
			for (var i=0;i < len;i++){
				var actionView=this.actions[i];
				if (actionView==this.curDragAction){
					curIndex=i;
					continue ;
				}
				actionView.pos(0,tempY);
				if (mouseY > actionView.y && mouseY < actionView.y+actionView.height){
					if (mouseY < actionView.y+actionView.height *0.5){
						targetIndex=i;
					}
					else {
						targetIndex=i+1;
					}
				}
				tempY+=actionView.height;
			}
			if (mouseY <=0){
				curIndex=0;
			}
			else if (mouseY >=tempY){
				curIndex=len-1;
			}
			if (curIndex==-1 || targetIndex==-1)return;
			if (curIndex < targetIndex){
				targetIndex--;
			}
			this.actions.splice(curIndex,1);
			this.actions.splice(targetIndex,0,this.curDragAction);
			this.updateLayout();
			if (this.curDragAction.isDragMode){
				this.curDragAction.y=this.startViewY+mouseY-this.startMouseY;
			}
		}

		__proto.endDragAction=function(){
			this.curDragAction.isDragMode=false;
			Laya.stage.off(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.endDragAction);
			this.onDragFrame();
			this.funcExp.body.removeChildrenExp();
			var len=this.actions.length;
			for (var i=0;i < len;i++){
				this.funcExp.body.addChildExp(this.actions[i].exp);
			}
			this.curDragAction=null;
			ScriptPlugin.instance.change();
		}

		__proto.showVarMenu=function(cb,bindTarget,isCodeMode){
			var params=[];
			if (this.funcExp.desc && this.funcExp.desc.param){
				params.push.apply(params,this.funcExp.desc.param);
			}
			var varExp;
			/*for each*/for(var $each_varExp in this.funcExp.vars){
				varExp=this.funcExp.vars[$each_varExp];
				params.push(varExp.name);
			}
			params=ScriptPlugin.instance.getVarMenuMap(params);
			if (isCodeMode >=0){
				if (isCodeMode > 0){
					params.push({name:ActionCellMaterial.CanleCodeMode});
				}
				else {
					params.push({name:ActionCellMaterial.CodeMode});
				}
			}
			ScriptPlugin.instance.showMenu(cb,params,bindTarget);
		}

		__getset(0,__proto,'isOpen',function(){
			return this._isOpen;
			},function(value){
			if (this._isOpen==value)return;
			this._isOpen=value;
			this.minBtn.index=value ? 1 :0;
			if (value){
				this.addChild(this.vbox);
			}
			else {
				this.vbox.removeSelf();
			}
			this.updateRezie();
		});

		return EventTitleMaterial;
	})(EventViewUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventTitleMaterial_GC extends laya.ide.plugin.as3plugin.ui.EventViewUI
	var EventTitleMaterial_GC=(function(_super){
		function EventTitleMaterial_GC(mParent,eventID,eventKey,isName,isTarget,title,targetValue){
			this.eventID=NaN;
			this.isOpen=true;
			this.isName=false;
			this.isTarget=false;
			this.title=null;
			this.targetValue=null;
			this.mParent=null;
			EventTitleMaterial_GC.__super.call(this);
			this.mParent=mParent;
			this.eventID=eventID;
			this.isName=isName;
			this.isTarget=isTarget;
			this.title=title;
			this.targetValue=targetValue;
			this.initSelf();
			this.initDeleteBtn();
			this.initConditionBtn();
			this.initAddActionBtn();
			this.initProBtn();
			this.initOwnerNameInput();
			this.initCustomeventInput();
			this.initOpenEventBtn();
			this.initVbox();
		}

		__class(EventTitleMaterial_GC,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.event.EventTitleMaterial_GC',_super);
		var __proto=EventTitleMaterial_GC.prototype;
		/**
		*初始化自身
		*/
		__proto.initSelf=function(){
			this.left=this.right=0;
			this.conditionBtn.gray=true;
			this.proBtn.gray=true;
			if (this.isName){
				this.eventNameTf.visible=false;
				this.customeventInput.text="custom";
			}
			else {
				this.customeventInput.visible=false;
				this.eventNameTf.text=this.title;
			}
			if (this.isTarget){
				this.ownerNameInput.text=this.targetValue;
			}
			else {
				this.ownerNameInput.visible=false;
			}
		}

		/**
		*初始化删除按钮
		*/
		__proto.initDeleteBtn=function(){
			this.deleteBtn.y=6;
			this.deleteBtn.right=9;
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
		}

		__proto.onDelete=function(){
			var remove=new RemoveEventStep(this.eventID);
			remove.AddCallBack(CallBackGlobalName.deleteNormalEnd,this.removeEventMormalEnd);
			remove.AddCallBack(CallBackGlobalName.deleteRevocation,this.removeEventRevocation);
			BlackBox.instance.execute(remove);
		}

		__proto.removeEventMormalEnd=function(){}
		__proto.removeEventRevocation=function(){}
		/**
		*初始化条件按钮
		*/
		__proto.initConditionBtn=function(){
			this.conditionBtn.labelSize=12;
			this.conditionBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCondition);
		}

		__proto.onCondition=function(){
			AddConditionCell.execute(this.eventID,this.modifyConditionEndCallBack.bind(this));
		}

		/**
		*"修改条件"结束的回掉
		*/
		__proto.modifyConditionEndCallBack=function(value){
			this.conditionBtn.gray=value ? false :true;
		}

		/**
		*撤销"修改条件"的回掉
		*@param value
		*/
		__proto.revocationConditionCallBack=function(value){}
		/**
		*初始化属性按钮
		*/
		__proto.initProBtn=function(){
			this.proBtn.labelSize=12;
			this.proBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onProperty);
		}

		__proto.onProperty=function(){}
		/**
		*"修改属性结束"的回掉
		*/
		__proto.modifyPropertyEndCallBack=function(value){
			this.conditionBtn.gray=value ? true :false;
		}

		/**
		*"撤销修改属性"的回掉
		*@param value
		*/
		__proto.modifyPropertyRevocationCallBack=function(value){}
		/**
		*初始化添加行为按钮
		*/
		__proto.initAddActionBtn=function(){
			this.addActionBtn.labelSize=12;
			this.addActionBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onAddAction);
		}

		__proto.onAddAction=function(){
			var arr=MakerSystemContainer.instance.getActionMenuShow();
			console.log("***************"+this.eventID+":"+this.x+":"+this.y);
			ShowMenuCell.execute(arr,this.addActionBtn.x,this.y,this.mParent,this.addActionCallBack.bind(this));
		}

		__proto.addActionCallBack=function(data){
			CreateActionCell.execute(PanelName.scriptPanel,this.mParent,data.key,this.eventID,0);
			LayoutCell.execute(this.mParent,CurrentViewContainer.instance.getViews(PanelName.scriptPanel));
			this.changeSize();
		}

		/**
		*成功“添加行为”回调
		*@param value
		*/
		__proto.addActionNormalEndCallBack=function(value){}
		/**
		*撤销“添加行为”回调
		*@param value
		*/
		__proto.revocationAddActionCallBack=function(value){}
		/**
		*监听者名称输入框
		*/
		__proto.initOwnerNameInput=function(){
			this.ownerNameInput.menuBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onFocusTarget);
			this.ownerNameInput.inputTf.on(/*laya.events.Event.BLUR*/"blur",this,this.onTargetBlur);
			this.ownerNameInput.toolTip='监听对象';
		}

		__proto.onFocusTarget=function(){
			var input=new ListInputStep(this.eventID);
			input.AddCallBack(CallBackGlobalName.listInputNormalEnd,this.targetInputNormalEndCallBack);
			input.AddCallBack(CallBackGlobalName.listInputRevocation,this.targetInputRevocation);
			BlackBox.instance.execute(input);
		}

		__proto.onTargetBlur=function(){
			var input=new KeyInputStep(this.eventID,"");
			input.AddCallBack(CallBackGlobalName.listInputNormalEnd,this.targetInputNormalEndCallBack);
			input.AddCallBack(CallBackGlobalName.listInputRevocation,this.targetInputRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*“监听者输入正常结束”的回调
		*/
		__proto.targetInputNormalEndCallBack=function(value){}
		/**
		*撤销“监听者输入”
		*/
		__proto.targetInputRevocation=function(value){}
		/**
		*名称输入框
		*/
		__proto.initCustomeventInput=function(){
			this.customeventInput.menuBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onEventNameFocus);
			this.customeventInput.inputTf.on(/*laya.events.Event.BLUR*/"blur",this,this.onEventNameBlur);
			this.customeventInput.toolTip='监听事件';
		}

		/**
		*当前快捷输入时
		*/
		__proto.onEventNameFocus=function(){
			var input=new ListInputStep(this.eventID);
			input.AddCallBack(CallBackGlobalName.listInputNormalEnd,this.inputNameEndCallBack);
			input.AddCallBack(CallBackGlobalName.listInputRevocation,this.inputNameRevocation);
			BlackBox.instance.execute(input);
		}

		__proto.onEventNameBlur=function(){
			var input=new KeyInputStep(this.eventID,"");
			input.AddCallBack(CallBackGlobalName.listInputNormalEnd,this.inputNameEndCallBack);
			input.AddCallBack(CallBackGlobalName.listInputRevocation,this.inputNameRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*输入EventName正常结束的回调
		*/
		__proto.inputNameEndCallBack=function(value){}
		/**
		*撤销EventName输入的回调
		*@param value
		*/
		__proto.inputNameRevocation=function(value){}
		/**
		*初始化展开/合并按钮
		*/
		__proto.initOpenEventBtn=function(){
			this.minBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onMinChange);
		}

		__proto.onMinChange=function(){
			var open=new OpenOrCloseEventListStep(this.isOpen,this.eventID);
			open.AddCallBack(CallBackGlobalName.unfoldAndFoldNormalEnd,this.unflodOrFlodNormalEnd);
			open.AddCallBack(CallBackGlobalName.unfoldAndFoldRevocation,this.unflodOrFlodRevocation);
			BlackBox.instance.execute(open);
			this.isOpen=!this.isOpen;
		}

		/**
		*“展开或者折叠”的回调
		*/
		__proto.unflodOrFlodNormalEnd=function(){
			this.isOpen=!this.isOpen;
		}

		/**
		*“撤销展开或者折叠”的回调
		*/
		__proto.unflodOrFlodRevocation=function(){
			this.isOpen=!this.isOpen;
		}

		/**
		*初始化VBox
		*/
		__proto.initVbox=function(){
			this.vbox['sortItem']=function (items){
			};
		}

		return EventTitleMaterial_GC;
	})(EventViewUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuItemMaterial extends laya.ide.plugin.as3plugin.ui.TreeMenuItemUI
	var TreeMenuItemMaterial=(function(_super){
		function TreeMenuItemMaterial(){
			this._data=null;
			TreeMenuItemMaterial.__super.call(this);
			this.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			this.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
		}

		__class(TreeMenuItemMaterial,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuItemMaterial',_super);
		var __proto=TreeMenuItemMaterial.prototype;
		__proto.onRollOut=function(){
			this.selectBox.index=0;
		}

		__proto.onRollOver=function(){
			this.selectBox.index=1;
		}

		__proto.clear=function(pool){
			this.dataSource=null;
			pool.returnObject(this);
		}

		__getset(0,__proto,'dataSource',function(){
			return this._data;
			},function(value){
			this._data=value;
			if(value){
				this.labelTf.text=value.name;
				this.arrowBg.visible=value.hasChild;
			}
			else{
				this.arrowBg.visible=false;
				this.labelTf.text='';
			}
		});

		return TreeMenuItemMaterial;
	})(TreeMenuItemUI)


	//class laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuItemMaterial_GC extends laya.ide.plugin.as3plugin.ui.TreeMenuItemUI
	var TreeMenuItemMaterial_GC=(function(_super){
		function TreeMenuItemMaterial_GC(value,parent,choose){
			this.value=null;
			this.createTreeMenu=null;
			this.clickCallBack=null;
			TreeMenuItemMaterial_GC.__super.call(this);
			this.clickCallBack=choose;
			this.init(value);
			this.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			this.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
			this.on(/*laya.events.Event.CLICK*/"click",this,this.onClick);
		}

		__class(TreeMenuItemMaterial_GC,'laya.ide.plugin.as3plugin.D_view.B_MaterialView.menu.TreeMenuItemMaterial_GC',_super);
		var __proto=TreeMenuItemMaterial_GC.prototype;
		/**
		*对数据进行初始化
		*@param value
		*/
		__proto.init=function(value){
			this.value=value;
			if (value.next !=null && value.next.lenght !=0){
				this.createTreeMenu=new OverListStep(value.next);
			}
			ListManager.instance.Add(value.rootName,this);
		}

		/**
		*当悬浮时
		*/
		__proto.onRollOver=function(){
			if (this.createTreeMenu){
				this.createTreeMenu.execute();
			}
		}

		/**
		*当离开时
		*/
		__proto.onRollOut=function(){
			if (this.createTreeMenu){
				this.createTreeMenu.revocation();
			}
		}

		/**
		*当点击时
		*@param e:回调的参数
		*/
		__proto.onClick=function(e){
			if (this.value.clickType !=null && this.value.clickValue !=null&&this.clickCallBack){
				this.clickCallBack(this.value.clickValue);
			}
		}

		return TreeMenuItemMaterial_GC;
	})(TreeMenuItemUI)


	//class laya.ide.plugin.as3plugin.D_view.C_PopView.CreatePropertyView extends laya.ide.plugin.as3plugin.ui.CreatePropertyViewUI
	var CreatePropertyView=(function(_super){
		function CreatePropertyView(types){
			this._ok=null;
			CreatePropertyView.__super.call(this);
			this.addBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onOk);
			this.closeBtn.on(/*laya.events.Event.CLICK*/"click",this,this.removeSelf);
			this.left=this.right=0;
			this.typeList.labels=types.join(',');
			console.log(this.typeList);
		}

		__class(CreatePropertyView,'laya.ide.plugin.as3plugin.D_view.C_PopView.CreatePropertyView',_super);
		var __proto=CreatePropertyView.prototype;
		__proto.onOk=function(){
			this._ok({name:this.nameTf.text,type:this.typeList.selectedLabel});
			this.removeSelf();
		}

		__proto.showByData=function(ok){
			this.nameTf.text='';
			this.typeList.selectedIndex=0;
			this._ok=ok;
		}

		return CreatePropertyView;
	})(CreatePropertyViewUI)


	//class laya.ide.plugin.as3plugin.D_view.C_PopView.CreatePropertyView_GC extends laya.ide.plugin.as3plugin.ui.CreatePropertyViewUI
	var CreatePropertyView_GC=(function(_super){
		function CreatePropertyView_GC(value){
			this.value=null;
			this._ok=null;
			CreatePropertyView_GC.__super.call(this);
			this.value=value;
			this.initSelf();
			this.initPropertyInput();
			this.initChooseType();
			this.initOKBtn();
			this.initClose();
		}

		__class(CreatePropertyView_GC,'laya.ide.plugin.as3plugin.D_view.C_PopView.CreatePropertyView_GC',_super);
		var __proto=CreatePropertyView_GC.prototype;
		__proto.initSelf=function(){
			this.left=this.right=0;
		}

		/**
		*初始化输入属性框
		*/
		__proto.initPropertyInput=function(){}
		__proto.onPropertyInput=function(currentInput){
			var input=new KeyInputStep(this.value,currentInput);
			input.AddCallBack(CallBackGlobalName.keyInputEnd,this.propertyInputEnd);
			input.AddCallBack(CallBackGlobalName.keyInputRevocation,this.propertyRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*属性输入结束
		*/
		__proto.propertyInputEnd=function(){}
		/**
		*撤销属性输入
		*/
		__proto.propertyRevocation=function(){}
		/**
		*初始化选择Type类型
		*/
		__proto.initChooseType=function(){
			this.typeList.labels=this.value["array"].join('.');
		}

		__proto.onChooseType=function(){
			var choose=new ChoosePropertyType(this.value);
			choose.AddCallBack(CallBackGlobalName.chooseNormalEnd,this.chooseNormalEnd);
			choose.AddCallBack(CallBackGlobalName.chooseRevocation,this.chooseRevocation);
			BlackBox.instance.execute(choose);
		}

		/**
		*选择结束
		*/
		__proto.chooseNormalEnd=function(){}
		/**
		*撤销选择
		*/
		__proto.chooseRevocation=function(){}
		/**
		*初始化OK按钮
		*/
		__proto.initOKBtn=function(){
			this.addBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onOk);
		}

		__proto.onOk=function(){
			this._ok({name:this.nameTf.text,type:this.typeList.selectedLabel});
			var add=new AddMemberVariableStep(this.value);
			add.AddCallBack(CallBackGlobalName.addNormalEnd,this.addPropertyNormalEnd);
			add.AddCallBack(CallBackGlobalName.addRevocation,this.addPropertyRevocation);
		}

		/**
		*添加属性
		*/
		__proto.addPropertyNormalEnd=function(){
			this.removeSelf();
		}

		/**
		*撤销添加属性
		*/
		__proto.addPropertyRevocation=function(){}
		/**
		*初始化关闭按钮
		*/
		__proto.initClose=function(){
			this.closeBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClose);
		}

		__proto.onClose=function(){
			var close=new CloseConditionPanelStep(this.value);
			close.AddCallBack(CallBackGlobalName.closePanel,this.closeEnd);
			close.AddCallBack(CallBackGlobalName.closePanelRevocation,this.cloaseRevocation);
			BlackBox.instance.execute(close);
		}

		/**
		*关闭结束
		*/
		__proto.closeEnd=function(){
			this.removeSelf();
		}

		/**
		*撤销关闭
		*/
		__proto.cloaseRevocation=function(){}
		__proto.showByData=function(ok){
			this.nameTf.text='';
			this.typeList.selectedIndex=0;
			this._ok=ok;
		}

		return CreatePropertyView_GC;
	})(CreatePropertyViewUI)


	//class laya.ide.plugin.as3plugin.D_view.D_OtherView.PropertyItemView extends laya.ide.plugin.as3plugin.ui.PropertyItemViewUI
	var PropertyItemView=(function(_super){
		function PropertyItemView(){
			this.varExp=null;
			PropertyItemView.__super.call(this);
			this.inputTxt.on(/*laya.events.Event.BLUR*/"blur",this,this.onChange);
			new DragMaterial(this.inputTxt,this.setText.bind(this));
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
		}

		__class(PropertyItemView,'laya.ide.plugin.as3plugin.D_view.D_OtherView.PropertyItemView',_super);
		var __proto=PropertyItemView.prototype;
		__proto.onDelete=function(){
			this.parent.parent.event(/*laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial.DeleteProperty*/'DeleteProperty',this.varExp);
		}

		__proto.onChange=function(){
			this.setText(this.inputTxt.text);
		}

		__proto.setText=function(value){
			this.inputTxt.text=value;
			if(this.varExp){
				this.varExp.auto=value;
				ScriptPlugin.instance.change();
			}
		}

		__getset(0,__proto,'dataSource',_super.prototype._$get_dataSource,function(value){
			this._dataSource=value;
			if(value){
				this.varExp=value;
				this.nameTf.text=this.varExp.name;
				this.inputTxt.text=this.varExp.auto;
			}
		});

		return PropertyItemView;
	})(PropertyItemViewUI)


	//class laya.ide.plugin.as3plugin.D_view.D_OtherView.ScriptPrefabItem extends laya.ide.plugin.as3plugin.ui.ScriptPrefabItemUI
	var ScriptPrefabItem=(function(_super){
		function ScriptPrefabItem(){
			ScriptPrefabItem.__super.call(this);
		}

		__class(ScriptPrefabItem,'laya.ide.plugin.as3plugin.D_view.D_OtherView.ScriptPrefabItem',_super);
		var __proto=ScriptPrefabItem.prototype;
		__getset(0,__proto,'dataSource',_super.prototype._$get_dataSource,function(value){
			this._dataSource=value;
			if(value){
				this.nameTf.text=value.name;
			}
			else{
				this.nameTf.text='';
			}
		});

		return ScriptPrefabItem;
	})(ScriptPrefabItemUI)


	//class laya.ide.plugin.as3plugin.ui.mainTestUI extends laya.ide.plugin.PluginPanel
	var mainTestUI=(function(_super){
		function mainTestUI(){
			this.warnTf=null;
			this.objNameTf=null;
			this.iconImage=null;
			this.copyBtn=null;
			this.parseBtn=null;
			this.deleteBtn=null;
			this.vbox=null;
			this.propertyTitleBox=null;
			this.propertyOpenBtn=null;
			this.propertyBtn=null;
			this.addPropertyBtn=null;
			this.eventTitleBox=null;
			this.eventOpenBtn=null;
			this.eventOpenLabel=null;
			this.addEventBtn=null;
			mainTestUI.__super.call(this);
		}

		__class(mainTestUI,'laya.ide.plugin.as3plugin.ui.mainTestUI',_super);
		var __proto=mainTestUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(mainTestUI.uiView);
		}

		mainTestUI.uiView={"type":"PluginPanel","props":{"x":0,"width":300,"right":0,"left":0,"height":600},"compId":1,"child":[{"type":"Label","props":{"y":15,"width":161,"var":"warnTf","text":" ","styleSkin":"comp/Label.png","right":76,"left":63,"height":12,"color":"#ea00ff","bold":true,"align":"center"},"compId":3},{"type":"Label","props":{"y":15,"x":29,"width":26,"var":"objNameTf","text":" ","styleSkin":"comp/Label.png","height":12,"color":"#32ff00","bold":true},"compId":4},{"type":"Sprite","props":{"y":13,"x":8,"var":"iconImage"},"compId":5},{"type":"Button","props":{"y":13,"var":"copyBtn","stateNum":2,"skin":"play/btn_clone.png","rotation":0,"right":42,"scaleX":0.5,"scaleY":0.5},"compId":7},{"type":"Button","props":{"y":15,"var":"parseBtn","stateNum":2,"skin":"play/btn_stop.png","rotation":0,"right":28,"scaleX":0.5,"scaleY":0.5},"compId":8},{"type":"Button","props":{"y":14,"width":20,"var":"deleteBtn","stateNum":2,"skin":"play/btn_del.png","right":10,"height":28,"scaleX":0.5,"scaleY":0.5},"compId":9},{"type":"Panel","props":{"var":"vbox","vScrollBarSkin":"comp/vscroll.png","top":29,"right":0,"left":0,"bottom":0},"compId":19,"child":[{"type":"Box","props":{"y":0,"var":"propertyTitleBox","right":0,"left":0,"height":20},"compId":14,"child":[{"type":"Clip","props":{"y":6,"x":8,"var":"propertyOpenBtn","skin":"comp/clip_tree.png","index":1,"clipY":2,"width":11,"height":12},"compId":10},{"type":"Label","props":{"y":5,"x":19,"var":"propertyBtn","text":"属性","bold":true,"align":"center"},"compId":12},{"type":"Button","props":{"y":5,"var":"addPropertyBtn","stateNum":2,"skin":"play/btn_add.png","right":15,"scaleX":0.5,"scaleY":0.5},"compId":13}],"components":[]},{"type":"Box","props":{"y":17,"var":"eventTitleBox","right":0,"left":0,"height":20},"compId":15,"child":[{"type":"Clip","props":{"y":6,"x":8,"var":"eventOpenBtn","skin":"comp/clip_tree.png","index":1,"clipY":2,"width":11,"height":12},"compId":16},{"type":"Label","props":{"y":5,"x":19,"var":"eventOpenLabel","text":"事件","bold":true,"align":"center"},"compId":17},{"type":"Button","props":{"y":5,"var":"addEventBtn","stateNum":2,"skin":"play/btn_add.png","right":15,"scaleX":0.5,"scaleY":0.5},"compId":18}],"components":[]}],"components":[]}],"loadList":["comp/Label.png","play/btn_clone.png","play/btn_stop.png","play/btn_del.png","comp/vscroll.png","comp/clip_tree.png","play/btn_add.png"],"loadList3D":[],"components":[]};
		return mainTestUI;
	})(PluginPanel)


	//class laya.ide.plugin.as3plugin.ui.NewScript.NewScriptUI extends laya.ide.plugin.PluginPanel
	var NewScriptUI=(function(_super){
		function NewScriptUI(){
			this.mpanel=null;
			this.btnPanel=null;
			this.propertyBtn=null;
			this.debugBtn=null;
			this.eventBtn=null;
			this.actionBtn=null;
			this.conditionBtn=null;
			this.whileBtn=null;
			this.delayBtn=null;
			NewScriptUI.__super.call(this);
		}

		__class(NewScriptUI,'laya.ide.plugin.as3plugin.ui.NewScript.NewScriptUI',_super);
		var __proto=NewScriptUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(NewScriptUI.uiView);
		}

		NewScriptUI.uiView={"type":"PluginPanel","props":{"width":300,"newScript":"newScript\\NewScript\\1","height":600,"eventscript":"code\\dc855f7fadf76d96c10b16e0e9ce3436"},"compId":1,"child":[{"type":"Image","props":{"y":0,"x":0,"top":0,"skin":"comp/blank2.png","right":0,"left":0,"eventscript":"code/89202c32e73a30ac150dc97bc741597d.txt","bottom":0},"compId":3},{"type":"Panel","props":{"var":"mpanel","vScrollBarSkin":"comp/vscroll.png","top":0,"right":5,"left":0,"height":520,"hScrollBarSkin":"comp/hscroll.png","eventscript":"code/2ba51f967d1799f9d9ca9e0108c65d50.txt","bottom":50},"compId":4},{"type":"Panel","props":{"var":"btnPanel","right":0,"newScript":"newScript\\NewScript\\12","left":0,"height":40,"hScrollBarSkin":"comp/hscroll.png","eventscript":"code/a02504f6fa20fb806abf8821c10e8450.txt","bottom":1},"compId":12,"child":[{"type":"HBox","props":{"x":0,"space":2,"eventscript":"code/a92029bd16bfb2d39e966ca1a8b9b6b9.txt","bottom":10},"compId":11,"child":[{"type":"Button","props":{"y":0,"x":0,"width":45,"var":"propertyBtn","skin":"comp/button.png","label":"属性","height":21,"eventscript":"code/9aa33585409ae9531fc1479b86cdf4f2.txt","labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":13},{"type":"Button","props":{"y":0,"x":392,"width":80,"var":"debugBtn","skin":"comp/button.png","label":"打开调试","height":20,"eventscript":"code/86fc3f64a130ce61c5abe6f8f5b255ef.txt","labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":14},{"type":"Button","props":{"y":0,"x":20,"width":75,"var":"eventBtn","stateNum":1,"skin":"scriptPlugin/eventBtn.png","height":20,"eventscript":"code/3d3306c346898b3cd5f52d75a46fe377.txt"},"compId":6},{"type":"Button","props":{"y":0,"x":40,"width":64,"var":"actionBtn","stateNum":1,"skin":"scriptPlugin/actionBtn.png","height":20,"eventscript":"code/5cc8e68a9f94dd34b67f3676b5be5d9a.txt"},"compId":10},{"type":"Button","props":{"y":0,"x":60,"width":70,"var":"conditionBtn","stateNum":1,"skin":"scriptPlugin/conditionBtn.png","height":20,"eventscript":"code/b8f867b5f726207ba0b3793ec67a5374.txt"},"compId":8},{"type":"Button","props":{"y":0,"x":80,"width":61,"var":"whileBtn","stateNum":1,"skin":"scriptPlugin/whileBtn.png","height":20,"eventscript":"code/b392e7037a76434d9fab5f00248a4c13.txt"},"compId":7},{"type":"Button","props":{"y":0,"x":100,"width":65,"var":"delayBtn","stateNum":1,"skin":"scriptPlugin/delay.png","height":20,"eventscript":"code/bc6131fa62738acfdac66a38f27c0ab3.txt"},"compId":9}],"components":[]}],"components":[]}],"loadList":["comp/blank2.png","code/89202c32e73a30ac150dc97bc741597d.txt","comp/vscroll.png","comp/hscroll.png","code/2ba51f967d1799f9d9ca9e0108c65d50.txt","code/a02504f6fa20fb806abf8821c10e8450.txt","code/a92029bd16bfb2d39e966ca1a8b9b6b9.txt","comp/button.png","code/9aa33585409ae9531fc1479b86cdf4f2.txt","code/86fc3f64a130ce61c5abe6f8f5b255ef.txt","scriptPlugin/eventBtn.png","code/3d3306c346898b3cd5f52d75a46fe377.txt","scriptPlugin/actionBtn.png","code/5cc8e68a9f94dd34b67f3676b5be5d9a.txt","scriptPlugin/conditionBtn.png","code/b8f867b5f726207ba0b3793ec67a5374.txt","scriptPlugin/whileBtn.png","code/b392e7037a76434d9fab5f00248a4c13.txt","scriptPlugin/delay.png","code/bc6131fa62738acfdac66a38f27c0ab3.txt"],"loadList3D":[],"components":[]};
		return NewScriptUI;
	})(PluginPanel)


	//class laya.ide.plugin.as3plugin.ui.NewScriptDebug.NewScriptDebugUI extends laya.ide.plugin.PluginPanel
	var NewScriptDebugUI=(function(_super){
		function NewScriptDebugUI(){
			this.mpanel=null;
			this.textBtn=null;
			NewScriptDebugUI.__super.call(this);
		}

		__class(NewScriptDebugUI,'laya.ide.plugin.as3plugin.ui.NewScriptDebug.NewScriptDebugUI',_super);
		var __proto=NewScriptDebugUI.prototype;
		__proto.createChildren=function(){
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(NewScriptDebugUI.uiView);
		}

		NewScriptDebugUI.uiView={"type":"PluginPanel","props":{"width":0,"height":0,"eventscript":"code/95b5d4dc65368a9523dc1e0c40004b6d.txt"},"compId":1,"child":[{"type":"Image","props":{"y":20,"x":20,"top":0,"skin":"comp/blank2.png","right":0,"left":0,"eventscript":"code/567be7443f742c19603eefa0afa14124.txt#","bottom":0},"compId":2},{"type":"Panel","props":{"y":20,"x":20,"var":"mpanel","vScrollBarSkin":"comp/vscroll.png","top":0,"right":5,"left":0,"height":520,"hScrollBarSkin":"comp/hscroll.png","eventscript":"code/1ee50af8b0c8037cb2347749aa497d39.txt#","bottom":50},"compId":3},{"type":"Button","props":{"var":"textBtn","skin":"comp/button.png","left":0,"label":"label","eventscript":"code/d94ca318ad8a87dcaf779f85679f61cf.txt","bottom":0,"labelColors":"#ffffff,#ffffff,#ffffff,#c5c5c5","labelSize":16,"sizeGrid":"0,4,0,4"},"compId":4}],"loadList":["code/95b5d4dc65368a9523dc1e0c40004b6d.txt","comp/blank2.png","comp/vscroll.png","comp/hscroll.png","comp/button.png","code/d94ca318ad8a87dcaf779f85679f61cf.txt"],"loadList3D":[],"components":[]};
		return NewScriptDebugUI;
	})(PluginPanel)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.menu.TreeMenuItemMaterial extends laya.ide.plugin.as3plugin.ui.TreeMenuItemUI
	var TreeMenuItemMaterial$1=(function(_super){
		function TreeMenuItemMaterial(){
			this._data=null;
			TreeMenuItemMaterial.__super.call(this);
			this.on(/*laya.events.Event.ROLL_OVER*/"mouseover",this,this.onRollOver);
			this.on(/*laya.events.Event.ROLL_OUT*/"mouseout",this,this.onRollOut);
		}

		__class(TreeMenuItemMaterial,'laya.ide.plugin.newScript.D_view.B_MaterialView.menu.TreeMenuItemMaterial',_super,'TreeMenuItemMaterial$1');
		var __proto=TreeMenuItemMaterial.prototype;
		__proto.onRollOut=function(){
			this.selectBox.index=0;
		}

		__proto.onRollOver=function(){
			this.selectBox.index=1;
		}

		__proto.clear=function(pool){
			this.dataSource=null;
			pool.returnObject(this);
		}

		__getset(0,__proto,'dataSource',function(){
			return this._data;
			},function(value){
			this._data=value;
			if (value){
				this.labelTf.text=value.name;
				this.arrowBg.visible=value.hasChild;
			}
			else {
				this.arrowBg.visible=false;
				this.labelTf.text='';
			}
		});

		return TreeMenuItemMaterial;
	})(TreeMenuItemUI)


	//class laya.ide.plugin.newScript.D_view.C_PopView.CreatePropertyView_GC extends laya.ide.plugin.as3plugin.ui.CreatePropertyViewUI
	var CreatePropertyView_GC$1=(function(_super){
		function CreatePropertyView_GC(value){
			this.value=null;
			this._ok=null;
			CreatePropertyView_GC.__super.call(this);
			this.value=value;
			this.initSelf();
			this.initPropertyInput();
			this.initChooseType();
			this.initOKBtn();
			this.initClose();
		}

		__class(CreatePropertyView_GC,'laya.ide.plugin.newScript.D_view.C_PopView.CreatePropertyView_GC',_super,'CreatePropertyView_GC$1');
		var __proto=CreatePropertyView_GC.prototype;
		__proto.initSelf=function(){
			this.left=this.right=0;
		}

		/**
		*初始化输入属性框
		*/
		__proto.initPropertyInput=function(){}
		__proto.onPropertyInput=function(currentInput){
			var input=new KeyInputStep(this.value,currentInput);
			input.AddCallBack(CallBackGlobalName.keyInputEnd,this.propertyInputEnd);
			input.AddCallBack(CallBackGlobalName.keyInputRevocation,this.propertyRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*属性输入结束
		*/
		__proto.propertyInputEnd=function(){}
		/**
		*撤销属性输入
		*/
		__proto.propertyRevocation=function(){}
		/**
		*初始化选择Type类型
		*/
		__proto.initChooseType=function(){
			this.typeList.labels=this.value["array"].join('.');
		}

		__proto.onChooseType=function(){
			var choose=new ChoosePropertyType(this.value);
			choose.AddCallBack(CallBackGlobalName.chooseNormalEnd,this.chooseNormalEnd);
			choose.AddCallBack(CallBackGlobalName.chooseRevocation,this.chooseRevocation);
			BlackBox.instance.execute(choose);
		}

		/**
		*选择结束
		*/
		__proto.chooseNormalEnd=function(){}
		/**
		*撤销选择
		*/
		__proto.chooseRevocation=function(){}
		/**
		*初始化OK按钮
		*/
		__proto.initOKBtn=function(){
			this.addBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onOk);
		}

		__proto.onOk=function(){
			this._ok({name:this.nameTf.text,type:this.typeList.selectedLabel});
			var add=new AddMemberVariableStep(this.value);
			add.AddCallBack(CallBackGlobalName.addNormalEnd,this.addPropertyNormalEnd);
			add.AddCallBack(CallBackGlobalName.addRevocation,this.addPropertyRevocation);
		}

		/**
		*添加属性
		*/
		__proto.addPropertyNormalEnd=function(){
			this.removeSelf();
		}

		/**
		*撤销添加属性
		*/
		__proto.addPropertyRevocation=function(){}
		/**
		*初始化关闭按钮
		*/
		__proto.initClose=function(){
			this.closeBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClose);
		}

		__proto.onClose=function(){
			var close=new CloseConditionPanelStep(this.value);
			close.AddCallBack(CallBackGlobalName.closePanel,this.closeEnd);
			close.AddCallBack(CallBackGlobalName.closePanelRevocation,this.cloaseRevocation);
			BlackBox.instance.execute(close);
		}

		/**
		*关闭结束
		*/
		__proto.closeEnd=function(){
			this.removeSelf();
		}

		/**
		*撤销关闭
		*/
		__proto.cloaseRevocation=function(){}
		__proto.showByData=function(ok){
			this.nameTf.text='';
			this.typeList.selectedIndex=0;
			this._ok=ok;
		}

		return CreatePropertyView_GC;
	})(CreatePropertyViewUI)


	//class laya.ide.plugin.newScript.D_view.D_OtherView.PropertyItemView extends laya.ide.plugin.as3plugin.ui.PropertyItemViewUI
	var PropertyItemView$1=(function(_super){
		function PropertyItemView(){
			this.varExp=null;
			PropertyItemView.__super.call(this);
			this.inputTxt.on(/*laya.events.Event.BLUR*/"blur",this,this.onChange);
			new DragMaterial(this.inputTxt,this.setText.bind(this));
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
		}

		__class(PropertyItemView,'laya.ide.plugin.newScript.D_view.D_OtherView.PropertyItemView',_super,'PropertyItemView$1');
		var __proto=PropertyItemView.prototype;
		__proto.onDelete=function(){
			this.parent.parent.event(/*laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial.DeleteProperty*/'DeleteProperty',this.varExp);
		}

		__proto.onChange=function(){
			this.setText(this.inputTxt.text);
		}

		__proto.setText=function(value){
			this.inputTxt.text=value;
			if(this.varExp){
				this.varExp.auto=value;
				ScriptPlugin.instance.change();
			}
		}

		__getset(0,__proto,'dataSource',_super.prototype._$get_dataSource,function(value){
			this._dataSource=value;
			if(value){
				this.varExp=value;
				this.nameTf.text=this.varExp.name;
				this.inputTxt.text=this.varExp.auto;
			}
		});

		return PropertyItemView;
	})(PropertyItemViewUI)


	//class laya.ide.plugin.newScript.D_view.D_OtherView.ScriptPrefabItem extends laya.ide.plugin.as3plugin.ui.ScriptPrefabItemUI
	var ScriptPrefabItem$1=(function(_super){
		function ScriptPrefabItem(){
			ScriptPrefabItem.__super.call(this);
		}

		__class(ScriptPrefabItem,'laya.ide.plugin.newScript.D_view.D_OtherView.ScriptPrefabItem',_super,'ScriptPrefabItem$1');
		var __proto=ScriptPrefabItem.prototype;
		__getset(0,__proto,'dataSource',_super.prototype._$get_dataSource,function(value){
			this._dataSource=value;
			if(value){
				this.nameTf.text=value.name;
			}
			else{
				this.nameTf.text='';
			}
		});

		return ScriptPrefabItem;
	})(ScriptPrefabItemUI)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.action.ActionChooseMaterialView extends laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionChooseMaterialUI
	var ActionChooseMaterialView=(function(_super){
		function ActionChooseMaterialView(name){
			ActionChooseMaterialView.__super.call(this);
			this.chooseBtn.text.text=name+"：";
			this.width=AdaptiveTextCell.AdaptiveButtonText(this.chooseBtn);
		}

		__class(ActionChooseMaterialView,'laya.ide.plugin.newScript.D_view.B_MaterialView.action.ActionChooseMaterialView',_super);
		return ActionChooseMaterialView;
	})(ActionChooseMaterialUI)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.action.ActionTitleMaterialView extends laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionTitleMaterialUI
	var ActionTitleMaterialView=(function(_super){
		function ActionTitleMaterialView(id,parentID,imagePath,title,titleColor,mpanel){
			this.id=null;
			this.parentID=null;
			this.imagePath=null;
			this.mpanel=null;
			ActionTitleMaterialView.__super.call(this);
			this.id=id;
			this.parentID=parentID;
			this.imagePath=imagePath;
			this.titleClip.skin=imagePath;
			this.titleText.text=title;
			this.titleText.color=titleColor;
			this.mpanel=mpanel;
			this.titleText.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onDragStart);
		}

		__class(ActionTitleMaterialView,'laya.ide.plugin.newScript.D_view.B_MaterialView.action.ActionTitleMaterialView',_super);
		var __proto=ActionTitleMaterialView.prototype;
		/**
		*拖拽开始
		*/
		__proto.onDragStart=function(){
			UnderLineView.instance.openUnderLine();
			NewScriptPluginViewContainer.instance.moveDragStart(this,NewScriptPluginViewContainer.instance.getCurrentMouseXOnNewScript(),NewScriptPluginViewContainer.instance.getCurrentMouseYOnNewScript(),this.titleClip.width,this.titleClip.height,this.imagePath,this.onDragEnd);
		}

		__proto.onDragEnd=function(){
			if(NewScriptPluginViewContainer.instance.isMoveDragNow){
				var step=new ActionDragMove(this.id,NewScriptPluginViewContainer.instance.currentChooseID,this.mpanel);
				BlackBox$1.instance.execute(step);
				this.recover();
			}
		}

		__proto.recover=function(){
			NewScriptPluginViewContainer.instance.moveDragStop(this,this.onDragEnd);
			UnderLineView.instance.closeUnderLine();
		}

		return ActionTitleMaterialView;
	})(ActionTitleMaterialUI)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.action.EndAction extends laya.ide.plugin.as3plugin.ui.NewScript.Action.ActionTitleMaterialUI
	var EndAction=(function(_super){
		function EndAction(id,startID,startParentID,type,panel){
			this.id=null;
			this.startID=null;
			this.startParentID=null;
			this.mpanel=null;
			EndAction.__super.call(this);
			this.titleClip.width=11;
			this.titleClip.height=11;
			this.titleClip.x=1;
			this.titleText.x=16;
			this.id=id;
			this.name=id;
			this.startID=startID;
			this.startParentID=startParentID;
			if (type=="condition"){
				this.titleClip.skin="scriptPlugin/condition.png";
				this.titleText.text="条件结束";
				this.titleText.color="#ff3d00";
			}
			else if (type=="while"){
				this.titleClip.skin="scriptPlugin/while.png";
				this.titleText.text="重复结束";
				this.titleText.color="#ffb203";
			}
			else if (type=="delay"){
				this.titleClip.skin="scriptPlugin/with.png";
				this.titleText.text="延时结束";
				this.titleText.color="#6f00ff";
			}
			else {
				LayaPluginsConsole.log("type不存在："+type);
			}
			this.mpanel=panel;
			AdaptiveTextCell.AdaptiveTextText(50,this.titleText);
			this.on(/*laya.events.Event.MOUSE_OVER*/"mouseover",this,this.setUnderLineView);
		}

		__class(EndAction,'laya.ide.plugin.newScript.D_view.B_MaterialView.action.EndAction',_super);
		var __proto=EndAction.prototype;
		__proto.setUnderLineView=function(){
			if (NewScriptPluginViewContainer.instance.isDragNow){
				UnderLineView.instance.setUnderLine(this.mpanel,this.y,this.height,this.width);
				NewScriptPluginViewContainer.instance.setCurrentChoose(this.startID,this.startParentID,true);
			}
		}

		__proto.getDrawPosition=function(){
			return this.titleClip;
		}

		__proto.layoutLayer=function(layerNubmer){
			this.x=layerNubmer*20;
		}

		return EndAction;
	})(ActionTitleMaterialUI)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.common.InputMaterialView extends laya.ide.plugin.as3plugin.ui.NewScript.Common.InputMaterialUI
	var InputMaterialView=(function(_super){
		function InputMaterialView(parentID,id,inputTitle,inputValue,inputType,parentBox,mparent,inputTarget){
			this.parentID=null;
			this.id=NaN;
			this.parentBox=null;
			this.mparent=null;
			this.inputTarget=null;
			InputMaterialView.__super.call(this);
			this.parentID=parentID;
			this.id=id;
			if (inputValue !=null && inputValue !=undefined){
				this.textInput.text=inputValue;
			}
			else {
				this.textInput.text="";
			}
			AdaptiveTextCell.AdaptiveTextInputText(this.textInput);
			this.inputHBox.refresh();
			this.parentBox=parentBox;
			this.mparent=mparent;
			this.inputTarget=inputTarget;
			var value=null;
			if (inputType=="code"){
				value="表达式";
			}
			else if (inputType=="node"){
				value="节点"
			}
			else if (inputType=="any"){
				value="任意类型";
			}
			else if (inputType=="number"){
				value="数值";
			}
			else if (inputType=="string"){
				value="字符串";
			}
			else {
				value=inputType;
			}
			this.toolTip=inputTitle+":"+value;
			this.inputBtn.visible=false;
			this.textInput.on(/*laya.events.Event.CLICK*/"click",this,this.onLeave);
			this.on(/*laya.events.Event.MOUSE_OVER*/"mouseover",this,this.onClick);
			this.on(/*laya.events.Event.MOUSE_OUT*/"mouseout",this,this.onLeave);
			this.textInput.on(/*laya.events.Event.INPUT*/"input",this,this.onValueChange);
			this.textInput.on(/*laya.events.Event.BLUR*/"blur",this,this.onIuputEnd);
			this.textInput.on(/*laya.events.Event.ENTER*/"enter",this,this.onIuputEnd);
			this.textInput.on("dragDrop",this,this.onDragEnd);
		}

		__class(InputMaterialView,'laya.ide.plugin.newScript.D_view.B_MaterialView.common.InputMaterialView',_super);
		var __proto=InputMaterialView.prototype;
		__proto.onClick=function(){}
		//inputBtn.visible=true;
		__proto.onLeave=function(){}
		//inputBtn.visible=false;
		__proto.onValueChange=function(){
			var input=new InputStep(this.parentID,this.id,this.textInput.text,this.inputTarget);
			BlackBox$1.instance.execute(input);
		}

		/**
		*设置值：撤销调用该方法，则不经过onValueChange
		*@param value
		*/
		__proto.setInputValue=function(value){
			if (value !=null && value !=undefined){
				this.textInput.text=value;
			}
			else {
				this.textInput.text="";
			}
		}

		//onIuputEnd();
		__proto.onIuputEnd=function(){
			AdaptiveTextCell.AdaptiveTextInputText(this.textInput);
			this.inputHBox.refresh();
			this.parentBox.refresh();
			this.textInput.focus=false;
		}

		__proto.onDragEnd=function(e){
			if (e._data.type=="displayDrag"){
				var input=new InputStep(this.parentID,this.id,"@Node:"+e._data.data.compId,this.inputTarget);
				BlackBox$1.instance.execute(input);
				this.textInput.text="@Node:"+e._data.data.compId;
				this.onIuputEnd();
			}
		}

		return InputMaterialView;
	})(InputMaterialUI)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.common.SeparatedView extends laya.ide.plugin.as3plugin.ui.NewScript.Common.underLineUI
	var SeparatedView=(function(_super){
		function SeparatedView(id,mpanel){
			this.id=null;
			this.mpanel=null;
			SeparatedView.__super.call(this);
			var _$this=this;
			this.id=id;
			this.line.height=10;
			this.line.width=350;
			this.mpanel=mpanel;
			mpanel.on(/*laya.events.Event.RESIZE*/"resize",this,function(){
				_$this.line.width=mpanel.contentWidth;
			})
		}

		__class(SeparatedView,'laya.ide.plugin.newScript.D_view.B_MaterialView.common.SeparatedView',_super);
		return SeparatedView;
	})(underLineUI)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.common.UnderLineView extends laya.ide.plugin.as3plugin.ui.NewScript.Common.underLineUI
	var UnderLineView=(function(_super){
		function UnderLineView(){
			UnderLineView.__super.call(this);
		}

		__class(UnderLineView,'laya.ide.plugin.newScript.D_view.B_MaterialView.common.UnderLineView',_super);
		var __proto=UnderLineView.prototype;
		/**
		*开启下划线
		*/
		__proto.openUnderLine=function(){
			UnderLineView._instance.visible=true;
		}

		__proto.setUnderLine=function(parent,targetY,targetHight,targetWidth){
			var index=parent.getChildIndex(UnderLineView._instance);
			if (index==-1){
				parent.addChild(UnderLineView._instance);
			}
			this.openUnderLine();
			this.line.width=targetWidth;
			this.width=targetWidth;
			this.y=targetY+targetHight;
		}

		__proto.closeUnderLine=function(){
			UnderLineView._instance.visible=false;
		}

		__getset(1,UnderLineView,'instance',function(){
			if (!UnderLineView._instance)UnderLineView._instance=new UnderLineView();
			return UnderLineView._instance;
		},laya.ide.plugin.as3plugin.ui.NewScript.Common.underLineUI._$SET_instance);

		UnderLineView._instance=null
		return UnderLineView;
	})(underLineUI)


	//class laya.ide.plugin.newScript.D_view.B_MaterialView.event.EventTitleMaterialView extends laya.ide.plugin.as3plugin.ui.NewScript.Event.EventTitleMaterialUI
	var EventTitleMaterialView=(function(_super){
		function EventTitleMaterialView(id,titleName,parent){
			this.id=null;
			this.mparent=null;
			this.deleteBtn=null;
			this.currentEventKey=null;
			EventTitleMaterialView.__super.call(this);
			this.id=id;
			this.mparent=parent;
			this.createEvent(titleName,"click");
			this.eventTitleBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClick);
			this.on(/*laya.events.Event.MOUSE_OVER*/"mouseover",this,this.onMouseOver);
			this.on(/*laya.events.Event.MOUSE_OUT*/"mouseout",this,this.onMouseOut);
			this.deleteBtn=new Button();
			this.deleteBtn.width=12;
			this.deleteBtn.height=12;
			this.deleteBtn.skin="play/btn_del.png";
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDelete);
			this.deleteBtn.visible=false;
			this.deleteBtn.stateNum=2;
			this.addChild(this.deleteBtn);
			this.deleteBtn.x=220;
			this.deleteBtn.y=1;
		}

		__class(EventTitleMaterialView,'laya.ide.plugin.newScript.D_view.B_MaterialView.event.EventTitleMaterialView',_super);
		var __proto=EventTitleMaterialView.prototype;
		__proto.onDelete=function(){
			var step=new DeleteStep("event",null,this.id,this.mparent);
			BlackBox$1.instance.execute(step);
		}

		__proto.onMouseOver=function(){
			if (NewScriptPluginViewContainer.instance.isDragNow){
				UnderLineView.instance.setUnderLine(this.mparent,this.y,this.height,this.width);
				NewScriptPluginViewContainer.instance.setCurrentChoose(this.id,null,false);
			}
			this.deleteBtn.visible=true;
		}

		__proto.onMouseOut=function(){
			this.deleteBtn.visible=false;
		}

		/**
		*更新当前的Event对象
		*@param titleName
		*/
		__proto.createEvent=function(titleName,key){
			this.eventTitleBtn.text.text="当:"+titleName;
			this.currentEventKey=key;
		}

		__proto.onClick=function(){
			var update=new UpdateEventStep(this.id,this.currentEventKey,this.eventTitleBtn.x,this.eventTitleBtn.y,this.mparent,this.createEvent.bind(this),this.createEvent.bind(this));
			BlackBox$1.instance.execute(update);
		}

		__proto.layoutLayer=function(layerNubmer){
			this.x=layerNubmer*20;
		}

		return EventTitleMaterialView;
	})(EventTitleMaterialUI)


	//class laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugAction extends laya.ide.plugin.as3plugin.ui.NewScriptDebug.DebugActionUI
	var DebugAction=(function(_super){
		function DebugAction(id,type){
			this.id=null;
			this.titleImage=null;
			this.titleText=null;
			this.debugImage=null;
			this.mpanel=null;
			this.describeText=null;
			this.lastLayoutNumber=NaN;
			DebugAction.__super.call(this);
			this.paramText=[];
			this.lastParam=[];
			this.id=id;
			this.describeText=new Text();
			this.describeText.height=20;
			this.initTitle(type);
			this.debugImage=new Image();
			this.debugImage.width=20;
			this.debugImage.height=20;
			this.debugImage.skin="comp/image.png";
			this.debugImage.visible=false;
			this.on(/*laya.events.Event.CLICK*/"click",this,this.setDebug);
		}

		__class(DebugAction,'laya.ide.plugin.newScriptDebug.D_view.B_MaterialView.DebugAction',_super);
		var __proto=DebugAction.prototype;
		__proto.initTitle=function(type){
			if (type=="condition"){
				this.titleImage=this.createImage("scriptPlugin/condition.png");
				this.titleText=this.createText("条件","#ff3d00");
			}
			else if (type=="while"){
				this.titleImage=this.createImage("scriptPlugin/while.png");
				this.titleText=this.createText("重复","#ffb203");
			}
			else if (type=="delay"){
				this.titleImage=this.createImage("scriptPlugin/with.png");
				this.titleText=this.createText("延时","#6f00ff");
			}
			else {
				this.titleImage=this.createImage("scriptPlugin/action.png");
				this.titleText=this.createText("行为","#00ffd4");
			}
			NewScriptAPI.AdaptiveText(0,this.titleText);
		}

		__proto.createImage=function(skinPath){
			var image=new Image();
			image.width=20;
			image.height=20;
			image.skin=skinPath;
			return image;
		}

		__proto.createText=function(text,color){
			var txT=new Text();
			txT.text=text;
			txT.color=color;
			txT.height=20;
			return txT;
		}

		__proto.clear=function(){
			this.paramText.length=0;
			this.removeChildren();
		}

		__proto.init=function(title,layoutNumber,param){
			if (this.isUpdate(layoutNumber,param)){
				this.clear();
				this.initText(param);
				var views=this.createViewsAndAddChild();
				LayoutCell$3.HLayout(layoutNumber *20,5,views);
				this.lastLayoutNumber=layoutNumber;
				this.lastParam=param;
			}
			else {
				console.log("不需要更新:",this.id);
			}
		}

		/**
		*创建用来布局用的View数组，并将View添加到当前View中
		*/
		__proto.createViewsAndAddChild=function(){
			this.addChild(this.debugImage);
			var views=[];
			this.addChild(this.titleImage);
			this.addChild(this.titleText);
			views.push(this.titleImage);
			views.push(this.titleText);
			for (var i=0;i < this.paramText.length;i++){
				views.push(this.paramText[i]);
				this.addChild(this.paramText[i]);
			}
			views.push(this.describeText);
			this.addChild(this.describeText);
			return views;
		}

		/**
		*是否需要更新
		*@param param
		*@return
		*/
		__proto.isUpdate=function(layoutNumber,param){
			if (layoutNumber==this.lastLayoutNumber && this.lastParam.length==param.length){
				for (var i=0;i < this.lastParam.length;i++){
					if (this.lastParam[i] !=param[i]){
						return true;
					}
				}
				return false;
			}
			return true;
		}

		__proto.initText=function(param){
			for (var i=0;i < param.length;i++){
				var txT=new Text();
				txT.text=param[i];
				txT.height=20;
				txT.color="#000000";
				NewScriptAPI.AdaptiveText(0,txT);
				this.paramText.push(txT);
			}
		}

		/**
		*设置描述文档
		*@param value
		*/
		__proto.setText=function(value){
			this.describeText.text=value;
		}

		/**
		*设置端点
		*/
		__proto.setDebug=function(){
			this.debugImage.visible=!this.debugImage.visible;
		}

		/**
		*运行到当前行
		*/
		__proto.runthis=function(){}
		return DebugAction;
	})(DebugActionUI)


	//class laya.ide.plugin.as3plugin.D_view.A_PluginView.frameworkTestPlugin extends laya.ide.plugin.as3plugin.ui.frameworkTestUI
	var frameworkTestPlugin=(function(_super){
		function frameworkTestPlugin(){
			this.propertTitleID=NaN;
			this.eventTitleID=NaN;
			frameworkTestPlugin.__super.call(this);
			this.test1=[];
			this.initPanel();
			this.parseBtn.on(/*laya.events.Event.CLICK*/"click",this,this.test);
		}

		__class(frameworkTestPlugin,'laya.ide.plugin.as3plugin.D_view.A_PluginView.frameworkTestPlugin',_super);
		var __proto=frameworkTestPlugin.prototype;
		__proto.test=function(){
			this.test1.push(1);
			this.test1.splice(0,0,1);
			console.log(this.test1);
			this.test1.splice(2,0,1);
			console.log(this.test1);
		}

		/**
		*对思奎特面板进行初始化，每次点击不同节点，则调用一次
		*/
		__proto.initPanel=function(){
			this.propertTitleID=CreateTitleCell.execute(this.panel,this.onOpenOrCloseProperty.bind(this),"属性",this.onAddProperty.bind(this)).viewID;
			this.eventTitleID=CreateTitleCell.execute(this.panel,this.onOpenOrCloseEvent.bind(this),"事件",this.onAddEvent.bind(this)).viewID;
			LayoutCell.execute(this.panel,CurrentViewContainer.instance.getViews(PanelName.scriptPanel));
			this.mText.text=CurrentViewContainer.instance.getViewLenght(PanelName.scriptPanel);
		}

		__proto.onOpenOrCloseProperty=function(viewID,isOpen,openBtn){
			console.log(viewID,isOpen,openBtn.name);
		}

		__proto.onAddProperty=function(viewID,button){}
		__proto.onOpenOrCloseEvent=function(viewID,isOpen,openBtn){
			console.log(viewID,isOpen,openBtn.name);
		}

		__proto.onAddEvent=function(viewID,button){
			var _$this=this;
			var menuNameData=MakerSystemContainer.instance.getEventMenuShow();
			ShowMenuCell.execute(menuNameData,button.x,button.y,this.panel,function(data){
				CreateEventViewCell.execute(PanelName.scriptPanel,_$this.panel,data.key);
				LayoutCell.execute(_$this.panel,CurrentViewContainer.instance.getViews(PanelName.scriptPanel));
				_$this.mText.text=CurrentViewContainer.instance.getViewLenght(PanelName.scriptPanel);
				_$this.changeSize();
			});
		}

		return frameworkTestPlugin;
	})(frameworkTestUI)


	//class laya.ide.plugin.as3plugin.D_view.A_PluginView.ScriptPlugin extends laya.ide.plugin.as3plugin.ui.ScriptPluginUI
	var ScriptPlugin=(function(_super){
		function ScriptPlugin(){
			this._classExp=null;
			this.filePath=null;
			this._eventMenu=null;
			this._data=null;
			this._targetID=NaN;
			this._eventScript='';
			this._isCopyMode=false;
			this._showPropertyList=true;
			this._showEventList=true;
			this.varListView=null;
			this._eventBox=null;
			this._currentpathid=null;
			this._id=0;
			this._sceneName=null;
			this._ownerData=null;
			this.m_disabled=true;
			this._copyClass=null;
			this._lock=false;
			this._tempCallback=null;
			this.events=new Array;
			this._varMenuMap=new GroupMap;
			this.eventGroup=new GroupMap;
			ScriptPlugin.__super.call(this);
			ScriptPlugin.instance=this;
			this.addEventBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onAddEvent);
			/*__JS__ */Notice.listen("PropPanel_setByObj",this,this.initByObj);
			/*__JS__ */Notice.listen("FILE_PASTED",this,this.onPastePrefab);
			/*__JS__ */Notice.listen("NODE_PASTED",this,this.onPasteNode);
			this.left=this.right=0;
			this.varListView=new VarListView2;
			this.varListView.initTypes(MinScriptSystem.ValueTypes);
			this.varListView.visible=false;
			this['onVarChange']=this.onVarChange.bind(this);
			this.parseBtn.toolTip='粘贴脚本';
			this.copyBtn.toolTip='复制脚本';
			this.deleteBtn.toolTip='删除脚本';
			this.deleteBtn.on(/*laya.events.Event.CLICK*/"click",this,this.deleteFile);
			this.classExp=null;
			Laya.timer.callLater(this,this.updateRezie);
			this.copyBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCopy);
			this.parseBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onPaste);
			this.propertyBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClickProperty);
			this.propertyOpenBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClickProperty);
			this.addPropertyBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onCreateProperty);
			this.eventOpenLabel.on(/*laya.events.Event.CLICK*/"click",this,this.onClickEvent);
			this.eventOpenBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onClickEvent);
			this.varListView.autoAdjustSize=true;
			this.varListView.on(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			this.vbox.addChild(this.varListView);
			this.objNameTf.color=StyleConsts.PropPanelTitleColor;
			this._eventBox=new Box;
			this._eventBox.left=15;
			this._eventBox.right=0;
			this.vbox.addChild(this._eventBox);
			this.warnTf.color='#ff0000';
		}

		__class(ScriptPlugin,'laya.ide.plugin.as3plugin.D_view.A_PluginView.ScriptPlugin',_super);
		var __proto=ScriptPlugin.prototype;
		//更新
		__proto.eventActionEXPInit=function(){
			MakerSystemEventContainer.init();
			MakerSystemActionContainer.init();
			ExpressionFactory.init();
		}

		__proto.onCreateProperty=function(){
			this.varListView.onAdd(this);
		}

		__proto.onClickProperty=function(e){
			this.showPropertyList=!this.showPropertyList;
		}

		__proto.onClickEvent=function(e){
			this.showEventList=!this._showEventList;
		}

		__proto.initByObj=function(data,name,id,node){
			if(!id){return};
			var propsData=IDEAPIS.getPreFabProps(data);
			var path=IDEAPIS.getCurPagePath();
			this._id=id;
			var _node=IDEAPIS.getNodeByNodeID(id);
			if (_node){
				_node=_node.scene;
				if (_node && !_node.pagePath){
					_node=_node.parent;
				}
				if (_node && _node.pagePath){
					this._sceneName=_node.pagePath.substr(_node.pagePath.indexOf("laya/pages/")+11);
				}
			};
			var nowpathid=path+'_'+id;
			if (this._currentpathid==nowpathid)return;
			this._currentpathid=nowpathid;
			this._data=data;
			var type=node ? node.type :'';
			this.objNameTf.text=type;
			this.iconImage.skin=/*__JS__ */laya.editor.manager.UIConfigManager.getCompTreeIcon(type);
			this._targetID=id;
			path=path.substring(path.lastIndexOf('.')+1);
			if (!this._data || (propsData && propsData.props.preset && path !='prefab')){
				this.classExp=null;
				this.setDisabled(true);
				return;
			};
			var eventscript;
			if (this._data.__eventscript__){
				eventscript=this._data.__eventscript__;
				/*__JS__ */Notice.notify("Prop_change",['eventscript',this._data.__eventscript__,this._targetID]);
				/*__JS__ */Notice.notify("Prop_change",['__eventscript__',undefined,this._targetID]);
				eventscript=this._data.__eventscript__;
			}
			else {
				eventscript=this._data.eventscript
			}
			this._isCopyMode=false;
			if (eventscript && eventscript.charAt(eventscript.length-1)=='#'){
				this._isCopyMode=true;
				eventscript=eventscript.substring(0,eventscript.length-1);
			};
			var className=ClassTXTContainer.getClassNameFromPath(eventscript);
			if (className.indexOf('Class')!=-1){
				this.setScript(className);
			}
			this.className.text=className;
		}

		__proto.onPastePrefab=function(path){
			var json=FileManager.readJSONFile(path);
			this.checkEventScript(json);
			FileManager.createJSONFile(path,json);
		}

		__proto.onPasteNode=function(node){
			this.checkEventScript(node);
		}

		__proto.checkEventScript=function(obj){
			var pros=obj.props;
			if (pros.eventscript){
				var script=pros.eventscript;
				if (script.charAt(script.length-1)!='#'){
					pros.eventscript=script+'#';
				}
			}
			if (obj.hasChild){
				var child;
				/*for each*/for(var $each_child in obj.child){
					child=obj.child[$each_child];
					this.checkEventScript(child);
				}
			}
		}

		__proto.onPaste=function(){
			var name=this._classExp.name;
			this._classExp.read(this._copyClass);
			this._classExp.name=name;
			this.classExp=this._classExp;
			this.save();
		}

		__proto.onCopy=function(){
			this._copyClass=this._classExp.toJson();
			this.updateCV();
		}

		// }
		__proto.notify=function(){
			/*__JS__ */Notice.notify("Prop_change",['eventscript',this._eventScript,this._targetID]);
			this._data.eventscript=this._eventScript;
		}

		// }
		__proto.onProperty=function(){
			var varTypes=[];
			if (!this._classExp){
				this.varListView.resetData(varTypes,this.onVarChange);
				return;
			};
			var i=0,len=this.classExp.vars.length;
			for (;i < len;i++){
				var varExp=this.classExp.vars[i];
				varTypes.push({name:varExp.name,type:varExp.valueType,auto:varExp.auto});
			}
			this.varListView.resetData(varTypes,this.onVarChange);
		}

		//addChild(_varListView);
		__proto.onVarChange=function(data){
			var i=NaN,len=NaN;
			this.classExp.vars.length=0;
			len=data.length;
			for (i=0;i < len;i++){
				var varExp=new VarExp;
				varExp.name=data[i].name;
				varExp.valueType=data[i].type;
				varExp.auto=data[i].auto;
				this.classExp.addVar(varExp);
			}
			this.change();
		}

		__proto.onCreate=function(){
			this.classExp=ExpressionFactory.createClass();
		}

		__proto.setDisabled=function(value){
			this.m_disabled=value;
			this.addEventBtn.disabled=value;
			this.propertyBtn.disabled=value;
			this.deleteBtn.disabled=value;
			this.varListView.visible=!value;
			this.updateCV();
		}

		__proto.updateCV=function(){
			if (this.m_disabled){
				this.parseBtn.disabled=this.copyBtn.disabled=true;
			}
			else {
				this.copyBtn.disabled=false;
				this.parseBtn.disabled=this._copyClass==null;
			}
		}

		__proto.setScript=function(className){
			if (className){
				this.readJSFile(className);
			}
			else {
				this.onCreate();
			}
		}

		__proto.readJSFile=function(className){
			var claExp=JsonToEXP.open(ClassTXTContainer.getPathByClassName(className));
			if (claExp){
				this.classExp=claExp;
			}
			else {
				this.onCreate();
			}
		}

		// pathInput.text=FileManager.getRelativePath(IDEAPIS.assetsPath,rPath);
		__proto.addEventView=function(funcExp){
			var v=new EventTitleMaterial;
			v.init(this,funcExp);
			this._eventBox.addChild(v);
			this.events.push(v);
			v.on(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			this.callLater(this.updateRezie);
		}

		__proto.removeEventView=function(v){
			this.classExp.removeFunction(v.funcExp);
			v.removeSelf();
			v.off(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			this.events.splice(this.events.indexOf(v),1);
			this.callLater(this.updateRezie);
			this.change();
		}

		__proto.clearEventView=function(){
			var len=this.events.length;
			for (var i=0;i < len;i++){
				this.events[i].removeSelf();
				this.events[i].off(/*laya.events.Event.RESIZE*/"resize",this,this.updateRezie);
			}
			this.events.length=0;
		}

		__proto.updateLayout=function(){
			if (this._lock)return;
			this._lock=true;
			var tempHeight=0;
			this.propertyTitleBox.y=0;
			tempHeight+=this.propertyTitleBox.height+5;
			if (this._showPropertyList){
				this.varListView.y=tempHeight;
				tempHeight+=this.varListView.height;
			}
			this.eventTitleBox.y=tempHeight;
			tempHeight+=this.eventTitleBox.height+5;
			var len=this.events.length;
			var tempY=0;
			for (var i=0;i < len;i++){
				this.events[i].pos(0,tempY);
				tempY+=this.events[i].height;
			}
			if (this._showEventList){
				this._eventBox.y=tempHeight;
				this._eventBox.height=tempY;
				tempHeight+=this._eventBox.height;
			}
			this.vbox.refresh();
			this._lock=false;
			this.changeSize();
		}

		__proto.updateRezie=function(){
			this.callLater(this.updateLayout);
		}

		__proto.change=function(){
			this.save();
		}

		__proto.save=function(){
			var classExp=this._classExp;
			if (this._isCopyMode){
				this._isCopyMode=false;
				this._classExp.name=ClassTXTContainer.createClassTXTName();
				this.updateClassName();
			}
			if (!FileManager.exists(ClassTXTContainer.codePath())){
				FileManager.createDirectory(ClassTXTContainer.codePath());
			};
			var json=JSON.stringify(classExp.toJson());
			var js=Parser.toCode(classExp);
			this.checkwarn(js);
			var url=ClassTXTContainer.codePathDir()+classExp.name;
			var txturl=url+'.'+/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Extension_Code*/'txt';
			FileManager.createTxtFile(url+'.'+/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Extension_Json*/'lmscript',json);
			FileManager.createTxtFile(txturl,js);
			this.notify();
		}

		// trace(js);
		__proto.checkwarn=function(js){
			try {
				Browser.window.eval(js);
				this.warnTf.text='';
			}
			catch (e){
				this.warnTf.text='脚本存在错误，将无法正常使用！';
			}
		}

		__proto.doDeleteFile=function(){
			var url=ClassTXTContainer.codePathDir()+this.classExp.name;
			var txturl=url+'.'+/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Extension_Code*/'txt';
			if (FileManager.exists(txturl)){
				FileManager.removeFile(txturl);
			}
			txturl=ClassTXTContainer.getPathByClassName(this.classExp.name);
			if (FileManager.exists(txturl)){
				FileManager.removeFile(txturl);
			}
		}

		__proto.deleteFile=function(){
			laya.ide.plugin.as3plugin.D_view.A_PluginView.ScriptPlugin.instance.showCheckAlert('警告','确定删除脚本吗？',this.onDeelteEnd.bind(this));
		}

		__proto.onDeelteEnd=function(isOK){
			if (isOK){
				this.setScript(null);
				this.notify();
			}
		}

		__proto.rename=function(newName){
			if (this._classExp.name==newName)return;
			this.doDeleteFile();
			this._classExp.name=newName;
			this.updateClassName();
			this.save();
		}

		// }
		__proto.updateClassName=function(){
			if (this._classExp){
				var url=ClassTXTContainer.codePathDir()+this._classExp.name;
				var path=url+'.'+/*laya.ide.plugin.as3plugin.G_EXP.ExpressionFactory.Extension_Code*/'txt';
				path=FileManager.getRelativePath(IDEAPIS.workPath+"\\laya",path);
				this._eventScript=path;
			}
			else {
				this._eventScript='';
			}
		}

		__proto.getVarMenuMap=function(eventparam){
			this._varMenuMap.clear();
			var i=0;
			var len=NaN;
			var globalobject=GlobalPropertiesContainer.instance.objects;
			for (i=0,len=globalobject.length;i < len;i++){
				this._varMenuMap.addItem(globalobject[i].name,'全局属性','GlobalVariable.INSTANT.'+globalobject[i].name);
			}
			this._varMenuMap.addItem('owner','脚本属性','this.owner');
			for (i=0,len=this.classExp.vars.length;i < len;i++){
				this._varMenuMap.addItem(this.classExp.vars[i].name,'脚本属性','this.'+this.classExp.vars[i].name);
			}
			if (this._ownerData){
				for (i=0,len=this._ownerData.length;i < len;i++){
					this._varMenuMap.addItem(this._ownerData[i].name,'宿主属性','this.owner.data.'+this._ownerData[i].name);
				}
			}
			this._varMenuMap.addItem('true','boolean');
			this._varMenuMap.addItem('false','boolean');
			if (eventparam){
				len=eventparam.length;
				for (i=0;i < len;i++){
					this._varMenuMap.addItem(eventparam[i],'事件属性');
				}
			}
			return this._varMenuMap.getGroup();
		}

		__proto.getEventTargets=function(){
			this._varMenuMap.clear();
			var i=0;
			var len=this.classExp.vars.length;
			this._varMenuMap.addItem('owner','','this.owner');
			for (i=0;i < len;i++){
				this._varMenuMap.addItem(this.classExp.vars[i].name,'','this.'+this.classExp.vars[i].name);
			}
			return this._varMenuMap.groups;
		}

		__proto.onAddEvent=function(){
			this.showMenu(this.onCretaeEvent.bind(this),this.getEventGroup());
		}

		__proto.getEventGroup=function(inclueGlobal){
			(inclueGlobal===void 0)&& (inclueGlobal=true);
			this.eventGroup.clear();
			var event;
			/*for each*/for(var $each_event in MakerSystemEventContainer.eventArr.objects){
				event=MakerSystemEventContainer.eventArr.objects[$each_event];
				this.eventGroup.addItem(event.title,event.group);
			}
			if (inclueGlobal){
				var len=NaN;
				var globalobject=GlobalPropertiesContainer.instance.objects;
				var i=0;
				for (i=0,len=globalobject.length;i < len;i++){
					this.eventGroup.addItem(globalobject[i].name,'监听全局属性','GlobalVariable.INSTANT.'+globalobject[i].name);
				}
			}
			return this.eventGroup.getGroup();
		}

		__proto.getEventGroup2=function(inclueGlobal){
			(inclueGlobal===void 0)&& (inclueGlobal=true);
			this.eventGroup.clear();
			var event;
			/*for each*/for(var $each_event in MakerSystemEventContainer.eventArr.objects){
				event=MakerSystemEventContainer.eventArr.objects[$each_event];
				this.eventGroup.addItem(event.title,event.group);
			}
			if (inclueGlobal){
				var len=NaN;
				var globalobject=GlobalPropertiesContainer.instance.objects;
				var i=0;
				for (i=0,len=globalobject.length;i < len;i++){
					this.eventGroup.addItem(globalobject[i].name,'监听全局属性',globalobject[i].name);
				}
			}
			return this.eventGroup.getGroup();
		}

		__proto.onCretaeEvent=function(data){
			var funcExp;
			if (data.other){
				funcExp=JsonToEXP.createFunctionExp(this._classExp,/*laya.ide.plugin.as3plugin.E_core.coreGlobal.MinScriptSystem.Custom*/'custom');
				funcExp.ownerName='GlobalVariable.INSTANT';
				funcExp.customevent=data.other;
			}
			else {
				funcExp=JsonToEXP.createFunctionExp(this._classExp,MakerSystemEventContainer.eventsByTitle.finder(data.name));
			}
			this.addEventView(funcExp);
			this.change();
		}

		__proto.showMenu=function(callback,arr,bindTarget){
			this._tempCallback=callback;
			if (!this._eventMenu){
				this._eventMenu=new TreeMenuMaterial();
				this._eventMenu.classItem=TreeMenuItemMaterial;
				this._eventMenu.y=60;
				this._eventMenu.width=120;
				this._eventMenu.on(/*laya.events.Event.SELECT*/"select",this,this.onSelectedMenu);
			}
			this._eventMenu.show(this,arr);
		}

		// }
		__proto.onSelectedMenu=function(data){
			console.log(data);
			this._tempCallback(data);
		}

		__proto.showCheckAlert=function(title,context,ok){
			/*__JS__ */laya.editor.comonents.Confirm.show(/*__JS__ */Sys.lang(context),/*__JS__ */Sys.lang(title),ok);
		}

		__getset(0,__proto,'showEventList',null,function(value){
			if (this._showEventList==value)return;
			this._showEventList=value;
			if (value){
				this.vbox.addChild(this._eventBox);
			}
			else {
				this._eventBox.removeSelf();
			}
			this.eventOpenBtn.index=value ? 1 :0;
			this.updateRezie();
		});

		__getset(0,__proto,'showPropertyList',function(){
			return this._showPropertyList;
			},function(value){
			this._showPropertyList=value;
			this.propertyOpenBtn.index=value ? 1 :0;
			if (value){
				this.vbox.addChild(this.varListView);
			}
			else {
				this.varListView.removeSelf();
			}
			this.updateRezie();
		});

		__getset(0,__proto,'classExp',function(){
			return this._classExp;
			},function(value){
			this.clearEventView();
			this._classExp=value;
			if (this._classExp){
				this.setDisabled(false);
				var len=this._classExp.functions.length;
				for (var i=0;i < len;i++){
					this.addEventView(this._classExp.functions[i]);
				}
				len=this._classExp.vars.length;
				this.updateRezie();
				var js=Parser.toCode(this._classExp);
				this.checkwarn(js);
			}
			else {
				this.setDisabled(true);
			}
			this.updateClassName();
			this.onProperty();
		});

		ScriptPlugin.FILE_PASTED="FILE_PASTED";
		ScriptPlugin.NODE_PASTED="NODE_PASTED";
		ScriptPlugin.PROPPANEL_SETBYOBJ="PropPanel_setByObj";
		ScriptPlugin.instance=null
		return ScriptPlugin;
	})(ScriptPluginUI)


	//class laya.ide.plugin.as3plugin.ui.GlobalPropertyViewUI extends laya.ide.plugin.PluginDialog
	var GlobalPropertyViewUI=(function(_super){
		function GlobalPropertyViewUI(){
			this.img_drag=null;
			this.varList_01=null;
			this.varList_02=null;
			this.closeBtn=null;
			this.btn_01=null;
			this.btn_02=null;
			GlobalPropertyViewUI.__super.call(this);
		}

		__class(GlobalPropertyViewUI,'laya.ide.plugin.as3plugin.ui.GlobalPropertyViewUI',_super);
		var __proto=GlobalPropertyViewUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial",PropertyPanelListMaterial);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(GlobalPropertyViewUI.uiView);
		}

		GlobalPropertyViewUI.uiView={"type":"PluginDialog","props":{"width":500,"title":"全局属性","pluginClass":"laya.ide.plugin.as3plugin.D_view.A_PluginView.GlobalPropertyPlugin","menuTitle":"全局属性","menuNotice":"GlobalProperty","height":500,"eventscript":"code/4effda887111309af3661cb2c95a236e.txt"},"compId":1,"child":[{"type":"Image","props":{"top":-6,"skin":"view/bg_dialog.png","right":-8,"left":-8,"eventscript":"code/304d69d4c7193d00e3d3ed3f72e475db.txt","bottom":-6,"alpha":1,"sizeGrid":"47,20,22,37"},"compId":26},{"type":"Image","props":{"var":"img_drag","top":-11,"skin":"view/bg_menu.png","right":-10,"left":-10,"height":40,"eventscript":"code/285c002256cbc31340c65e9cbae5cced.txt","alpha":0},"compId":22},{"type":"VarListView","props":{"width":480,"var":"varList_01","top":77,"runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial","rotation":0,"right":10,"left":10,"height":294,"eventscript":"code/7da0b95aa498cd442f3c3d74768aecfd.txt","bottom":10},"compId":8},{"type":"VarListView","props":{"y":0,"x":0,"width":480,"var":"varList_02","top":77,"runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial","rotation":0,"right":10,"left":10,"height":294,"eventscript":"code/da619766644ccda4e2a4491119bfd24e.txt","bottom":10},"compId":25},{"type":"Label","props":{"y":8,"text":"自定义属性","styleSkin":"comp/Label1.png","right":10,"left":10,"label":"全局属性","height":20,"fontSize":20,"eventscript":"code/cb49ab911a39a0abcc0c20be3e7d7664.txt","color":"#FFFFFF","align":"center"},"compId":9},{"type":"Button","props":{"var":"closeBtn","top":1,"stateNum":3,"skin":"view/btn_close.png","right":2,"name":"close","scaleX":0.5,"scaleY":0.5,"y":7},"compId":14},{"type":"Button","props":{"x":4,"width":102,"var":"btn_01","top":36,"skin":"view/tab_timelinepanel.png","labelStrokeColor":"#7c7a7a","labelSize":16,"labelColors":"#7c7a7a","label":"全局属性","height":35},"compId":16},{"type":"Button","props":{"x":104,"width":102,"var":"btn_02","top":36,"skin":"view/tab_timelinepanel.png","labelStrokeColor":"#7c7a7a","labelSize":16,"labelColors":"#7c7a7a","label":"存储属性","height":35},"compId":17}],"loadList":["code/4effda887111309af3661cb2c95a236e.txt","view/bg_dialog.png","code/304d69d4c7193d00e3d3ed3f72e475db.txt","view/bg_menu.png","code/285c002256cbc31340c65e9cbae5cced.txt","VarListView.scene","code/7da0b95aa498cd442f3c3d74768aecfd.txt","code/da619766644ccda4e2a4491119bfd24e.txt","comp/Label1.png","code/cb49ab911a39a0abcc0c20be3e7d7664.txt","view/btn_close.png","view/tab_timelinepanel.png"],"loadList3D":[],"components":[]};
		return GlobalPropertyViewUI;
	})(PluginDialog)


	//class laya.ide.plugin.as3plugin.D_view.C_PopView.ConditionView extends laya.ide.plugin.as3plugin.ui.ConditionViewUI
	var ConditionView=(function(_super){
		function ConditionView(){
			this.lastInput=null;
			this._callback=null;
			ConditionView.__super.call(this);
			this.lastInput="";
			this.inputTf.on(/*laya.events.Event.INPUT*/"input",this,this.isEnter)
		}

		__class(ConditionView,'laya.ide.plugin.as3plugin.D_view.C_PopView.ConditionView',_super);
		var __proto=ConditionView.prototype;
		//监控回车输入，如果输入的为回车，则不允许输入
		__proto.isEnter=function(){
			var isRight=this.inputTf.text.indexOf("\n",0)==-1 ? true :false;
			if (isRight){
				this.lastInput=this.inputTf.text;
			}
			else {
				this.inputTf.text=this.lastInput;
			}
		}

		__proto.showByData=function(value,callBack){
			this.popup();
			this._callback=callBack;
			if (value){
				this.inputTf.text=value.value;
			}
			else {
				this.inputTf.text='';
			}
		}

		__proto.close=function(type){
			laya.ui.Dialog.prototype.close.call(this,type);
			if (type=='ok'){
				if (this.inputTf.text){
					var exp=new CodeExp;
					exp.value=this.inputTf.text;
					this._callback(exp);
				}
				else {
					this._callback(null);
				}
			}
		}

		//移除回车
		__proto.removeInvalidCharacter=function(value){}
		__static(ConditionView,
		['instance',function(){return this.instance=new ConditionView;}
		]);
		return ConditionView;
	})(ConditionViewUI)


	//class laya.ide.plugin.as3plugin.D_view.C_PopView.ConditionView_GC extends laya.ide.plugin.as3plugin.ui.ConditionViewUI
	var ConditionView_GC=(function(_super){
		function ConditionView_GC(){
			this._value=null;
			this._inputs=null;
			this._addCallBack=null;
			ConditionView_GC.__super.call(this);
			this.initSelf();
			this.initOK();
			this.initClose();
			this.initInput();
		}

		__class(ConditionView_GC,'laya.ide.plugin.as3plugin.D_view.C_PopView.ConditionView_GC',_super);
		var __proto=ConditionView_GC.prototype;
		__proto.openSelf=function(value,addCallBack){
			this.popup();
			this._addCallBack=addCallBack;
			if (value){
				this.inputTf.text=value;
			}
			else {
				this.inputTf.text='';
			}
		}

		__proto.close=function(type){
			laya.ui.Dialog.prototype.close.call(this,type);
			if (type=='ok'){
				this._addCallBack(this.inputTf.text);
			}
		}

		/**
		*初始化自身
		*/
		__proto.initSelf=function(){
			this._inputs=[];
		}

		/**
		*初始化OK按钮
		*/
		__proto.initOK=function(){}
		__proto.onOK=function(){
			var ok=new AddConditionStep(this._value);
			ok.AddCallBack(CallBackGlobalName.chooseNormalEnd,this.okNormalEnd);
			ok.AddCallBack(CallBackGlobalName.chooseRevocation,this.okRevocation);
			BlackBox.instance.execute(ok);
		}

		/**
		*添加条件
		*/
		__proto.okNormalEnd=function(){}
		/**
		*撤销添加条件
		*/
		__proto.okRevocation=function(){}
		/**
		*初始化Close按钮
		*/
		__proto.initClose=function(){}
		__proto.onClose=function(){
			var close=new CloseConditionPanelStep(this._value);
			close.AddCallBack(CallBackGlobalName.chooseNormalEnd,this.closeNormalEnd);
			close.AddCallBack(CallBackGlobalName.chooseRevocation,this.cloaseRevocation);
			BlackBox.instance.execute(close);
		}

		/**
		*关闭条件窗口
		*/
		__proto.closeNormalEnd=function(){}
		/**
		*撤销关闭窗口
		*/
		__proto.cloaseRevocation=function(){}
		/**
		*初始化输入
		*/
		__proto.initInput=function(){
			this.inputTf.on(/*laya.events.Event.INPUT*/"input",this,this.onInput)
		}

		__proto.onInput=function(input){
			var input=new KeyInputStep(this._value,input);
			input.AddCallBack(CallBackGlobalName.keyInputEnd,this.inputEnd);
			input.AddCallBack(CallBackGlobalName.keyInputRevocation,this.inputRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*输入回调
		*/
		__proto.inputEnd=function(){}
		/**
		*输入撤销
		*/
		__proto.inputRevocation=function(){}
		__getset(0,__proto,'value',null,function(value){
			this._value=value;
		});

		__static(ConditionView_GC,
		['instance',function(){return this.instance=new ConditionView_GC;}
		]);
		return ConditionView_GC;
	})(ConditionViewUI)


	//class laya.ide.plugin.as3plugin.D_view.C_PopView.LocalPropertyView extends laya.ide.plugin.as3plugin.ui.LocalPropertyViewUI
	var LocalPropertyView=(function(_super){
		function LocalPropertyView(){
			this._funcExp=null;
			this._callback=null;
			LocalPropertyView.__super.call(this);
			this.varList.initTypes(MinScriptSystem.LocalValueTypes);
		}

		__class(LocalPropertyView,'laya.ide.plugin.as3plugin.D_view.C_PopView.LocalPropertyView',_super);
		var __proto=LocalPropertyView.prototype;
		__proto.showByData=function(func,callback){
			this._callback=callback;
			this._funcExp=func;
			this.popup();
			var i=0,len=func.vars.length;
			var varTypes=[];
			for(;i<len;i++){
				var varExp=func.vars[i];
				varTypes.push({name:varExp.name,type:varExp.valueType,auto:varExp.auto});
			}
			this.varList.resetData(varTypes,this.onVarChange.bind(this));
		}

		__proto.onVarChange=function(data){
			var i=NaN,len=NaN;
			this._funcExp.vars.length=0;
			len=data.length;
			for(i=0;i<len;i++){
				var varExp=new VarExp;
				varExp.name=data[i].name;
				varExp.valueType=data[i].type;
				varExp.auto=data[i].auto;
				this._funcExp.addVar(varExp);
			}
		}

		__proto.close=function(type){
			laya.ui.Dialog.prototype.close.call(this,type);
			this._callback();
			ScriptPlugin.instance.change();
		}

		__static(LocalPropertyView,
		['instance',function(){return this.instance=new LocalPropertyView;}
		]);
		return LocalPropertyView;
	})(LocalPropertyViewUI)


	//class laya.ide.plugin.as3plugin.D_view.C_PopView.LocalPropertyView_GC extends laya.ide.plugin.as3plugin.ui.LocalPropertyViewUI
	var LocalPropertyView_GC=(function(_super){
		function LocalPropertyView_GC(){
			LocalPropertyView_GC.__super.call(this);
			this.varList.initTypes(MinScriptSystem.LocalValueTypes);
		}

		__class(LocalPropertyView_GC,'laya.ide.plugin.as3plugin.D_view.C_PopView.LocalPropertyView_GC',_super);
		__static(LocalPropertyView_GC,
		['instance',function(){return this.instance=new LocalPropertyView_GC;}
		]);
		return LocalPropertyView_GC;
	})(LocalPropertyViewUI)


	//class laya.ide.plugin.as3plugin.D_view.D_OtherView.ChooseView extends laya.ide.plugin.as3plugin.ui.ChooseViewUI
	var ChooseView=(function(_super){
		function ChooseView(){
			this.okFunc=null;
			ChooseView.__super.call(this);
		}

		__class(ChooseView,'laya.ide.plugin.as3plugin.D_view.D_OtherView.ChooseView',_super);
		var __proto=ChooseView.prototype;
		__proto.showChoose=function(item,okFunc){
			this.okFunc=okFunc;
			this.list.labels=item.join(',');
			this.popup();
		}

		__proto.close=function(type){
			if(type=="ok"){
				this.okFunc.runWith(this.list.selectedLabel);
			}
			laya.ui.Dialog.prototype.close.call(this,type);
		}

		__static(ChooseView,
		['instance',function(){return this.instance=new ChooseView;}
		]);
		return ChooseView;
	})(ChooseViewUI)


	//class laya.ide.plugin.as3plugin.ui.NewScriptProperty.NewGlobalPropertyViewUI extends laya.ide.plugin.PluginDialog
	var NewGlobalPropertyViewUI=(function(_super){
		function NewGlobalPropertyViewUI(){
			this.img_drag=null;
			this.varList_01=null;
			this.varList_02=null;
			this.closeBtn=null;
			this.btn_01=null;
			this.btn_02=null;
			NewGlobalPropertyViewUI.__super.call(this);
		}

		__class(NewGlobalPropertyViewUI,'laya.ide.plugin.as3plugin.ui.NewScriptProperty.NewGlobalPropertyViewUI',_super);
		var __proto=NewGlobalPropertyViewUI.prototype;
		__proto.createChildren=function(){
			View.regComponent("laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial",PropertyPanelListMaterial);
			laya.ui.Component.prototype.createChildren.call(this);
			this.createView(NewGlobalPropertyViewUI.uiView);
		}

		NewGlobalPropertyViewUI.uiView={"type":"PluginDialog","props":{"width":500,"newScript":"newScript\\/GlobalPropertyView\\1","height":500,"eventscript":"code/b0e412eb4b4190aeea93b9183958df52.txt"},"compId":1,"child":[{"type":"Image","props":{"top":-6,"skin":"view/bg_dialog.png","right":-8,"left":-8,"bottom":-6,"alpha":1,"sizeGrid":"47,20,22,37"},"compId":26},{"type":"Image","props":{"var":"img_drag","top":-11,"skin":"view/bg_menu.png","right":-10,"left":-10,"height":40,"alpha":0},"compId":22},{"type":"VarListView","props":{"width":480,"var":"varList_01","top":77,"runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial","rotation":0,"right":10,"left":10,"height":294,"bottom":10},"compId":8},{"type":"VarListView","props":{"y":0,"x":0,"width":480,"var":"varList_02","top":77,"runtime":"laya.ide.plugin.as3plugin.D_view.B_MaterialView.common.PropertyPanelListMaterial","rotation":0,"right":10,"left":10,"height":294,"eventscript":"code/a27f6cb069259374c9754d83423c97de.txt","bottom":10},"compId":25},{"type":"Label","props":{"y":8,"text":"新版自定义属性","styleSkin":"comp/Label1.png","right":10,"left":10,"label":"全局属性","height":20,"fontSize":20,"color":"#FFFFFF","align":"center"},"compId":9},{"type":"Button","props":{"var":"closeBtn","top":1,"stateNum":3,"skin":"view/btn_close.png","right":2,"name":"close","scaleX":0.5,"scaleY":0.5,"y":7},"compId":14},{"type":"Button","props":{"x":4,"width":102,"var":"btn_01","top":36,"skin":"view/tab_timelinepanel.png","labelStrokeColor":"#7c7a7a","labelSize":16,"labelColors":"#7c7a7a","label":"全局属性","height":35,"eventscript":"code/5315da8ec0ea5a2bfa0a758bb4730453.txt"},"compId":16},{"type":"Button","props":{"x":104,"width":102,"var":"btn_02","top":36,"skin":"view/tab_timelinepanel.png","labelStrokeColor":"#7c7a7a","labelSize":16,"labelColors":"#7c7a7a","label":"存储属性","height":35},"compId":17}],"loadList":["code/b0e412eb4b4190aeea93b9183958df52.txt","view/bg_dialog.png","view/bg_menu.png","VarListView.scene","code/a27f6cb069259374c9754d83423c97de.txt","comp/Label1.png","view/btn_close.png","view/tab_timelinepanel.png","code/5315da8ec0ea5a2bfa0a758bb4730453.txt"],"loadList3D":[],"components":[]};
		return NewGlobalPropertyViewUI;
	})(PluginDialog)


	//class laya.ide.plugin.newScript.D_view.C_PopView.ConditionView_GC extends laya.ide.plugin.as3plugin.ui.ConditionViewUI
	var ConditionView_GC$1=(function(_super){
		function ConditionView_GC(){
			this._value=null;
			this._inputs=null;
			this._addCallBack=null;
			ConditionView_GC.__super.call(this);
			this.initSelf();
			this.initOK();
			this.initClose();
			this.initInput();
		}

		__class(ConditionView_GC,'laya.ide.plugin.newScript.D_view.C_PopView.ConditionView_GC',_super,'ConditionView_GC$1');
		var __proto=ConditionView_GC.prototype;
		__proto.openSelf=function(value,addCallBack){
			this.popup();
			this._addCallBack=addCallBack;
			if (value){
				this.inputTf.text=value;
			}
			else {
				this.inputTf.text='';
			}
		}

		__proto.close=function(type){
			laya.ui.Dialog.prototype.close.call(this,type);
			if (type=='ok'){
				this._addCallBack(this.inputTf.text);
			}
		}

		/**
		*初始化自身
		*/
		__proto.initSelf=function(){
			this._inputs=[];
		}

		/**
		*初始化OK按钮
		*/
		__proto.initOK=function(){}
		__proto.onOK=function(){
			var ok=new AddConditionStep(this._value);
			ok.AddCallBack(CallBackGlobalName.chooseNormalEnd,this.okNormalEnd);
			ok.AddCallBack(CallBackGlobalName.chooseRevocation,this.okRevocation);
			BlackBox.instance.execute(ok);
		}

		/**
		*添加条件
		*/
		__proto.okNormalEnd=function(){}
		/**
		*撤销添加条件
		*/
		__proto.okRevocation=function(){}
		/**
		*初始化Close按钮
		*/
		__proto.initClose=function(){}
		__proto.onClose=function(){
			var close=new CloseConditionPanelStep(this._value);
			close.AddCallBack(CallBackGlobalName.chooseNormalEnd,this.closeNormalEnd);
			close.AddCallBack(CallBackGlobalName.chooseRevocation,this.cloaseRevocation);
			BlackBox.instance.execute(close);
		}

		/**
		*关闭条件窗口
		*/
		__proto.closeNormalEnd=function(){}
		/**
		*撤销关闭窗口
		*/
		__proto.cloaseRevocation=function(){}
		/**
		*初始化输入
		*/
		__proto.initInput=function(){
			this.inputTf.on(/*laya.events.Event.INPUT*/"input",this,this.onInput)
		}

		__proto.onInput=function(input){
			var input=new KeyInputStep(this._value,input);
			input.AddCallBack(CallBackGlobalName.keyInputEnd,this.inputEnd);
			input.AddCallBack(CallBackGlobalName.keyInputRevocation,this.inputRevocation);
			BlackBox.instance.execute(input);
		}

		/**
		*输入回调
		*/
		__proto.inputEnd=function(){}
		/**
		*输入撤销
		*/
		__proto.inputRevocation=function(){}
		__getset(0,__proto,'value',null,function(value){
			this._value=value;
		});

		__static(ConditionView_GC,
		['instance',function(){return this.instance=new ConditionView_GC;}
		]);
		return ConditionView_GC;
	})(ConditionViewUI)


	//class laya.ide.plugin.newScript.D_view.C_PopView.LocalPropertyView_GC extends laya.ide.plugin.as3plugin.ui.LocalPropertyViewUI
	var LocalPropertyView_GC$1=(function(_super){
		function LocalPropertyView_GC(){
			LocalPropertyView_GC.__super.call(this);
			this.varList.initTypes(MinScriptSystem.LocalValueTypes);
		}

		__class(LocalPropertyView_GC,'laya.ide.plugin.newScript.D_view.C_PopView.LocalPropertyView_GC',_super,'LocalPropertyView_GC$1');
		__static(LocalPropertyView_GC,
		['instance',function(){return this.instance=new LocalPropertyView_GC;}
		]);
		return LocalPropertyView_GC;
	})(LocalPropertyViewUI)


	//class laya.ide.plugin.newScript.D_view.D_OtherView.ChooseView extends laya.ide.plugin.as3plugin.ui.ChooseViewUI
	var ChooseView$1=(function(_super){
		function ChooseView(){
			this.okFunc=null;
			ChooseView.__super.call(this);
		}

		__class(ChooseView,'laya.ide.plugin.newScript.D_view.D_OtherView.ChooseView',_super,'ChooseView$1');
		var __proto=ChooseView.prototype;
		__proto.showChoose=function(item,okFunc){
			this.okFunc=okFunc;
			this.list.labels=item.join(',');
			this.popup();
		}

		__proto.close=function(type){
			if(type=="ok"){
				this.okFunc.runWith(this.list.selectedLabel);
			}
			laya.ui.Dialog.prototype.close.call(this,type);
		}

		__static(ChooseView,
		['instance',function(){return this.instance=new ChooseView;}
		]);
		return ChooseView;
	})(ChooseViewUI)


	//class laya.ide.plugin.as3plugin.view.NewScript.NewScript extends laya.ide.plugin.as3plugin.ui.NewScript.NewScriptUI
	var NewScript=(function(_super){
		function NewScript(){
			NewScript.__super.call(this);
		}

		__class(NewScript,'laya.ide.plugin.as3plugin.view.NewScript.NewScript',_super);
		return NewScript;
	})(NewScriptUI)


	//class laya.ide.plugin.as3plugin.view.NewScriptDebug.NewScriptDebug extends laya.ide.plugin.as3plugin.ui.NewScriptDebug.NewScriptDebugUI
	var NewScriptDebug=(function(_super){
		function NewScriptDebug(){
			NewScriptDebug.__super.call(this);
		}

		__class(NewScriptDebug,'laya.ide.plugin.as3plugin.view.NewScriptDebug.NewScriptDebug',_super);
		return NewScriptDebug;
	})(NewScriptDebugUI)


	//class laya.ide.plugin.newScript.D_view.A_PluginView.NewScriptPlugin extends laya.ide.plugin.as3plugin.ui.NewScript.NewScriptUI
	var NewScriptPlugin=(function(_super){
		function NewScriptPlugin(){
			this.currentBtnValue=null;
			this.currentNodeID=0;
			this.cutNodeID=0;
			this.currentData=null;
			this.cutData=null;
			this.currentSceneFullPath=null;
			this.cutSceneFullPath=null;
			NewScriptPlugin.__super.call(this);
			this.displaySelf();
		}

		__class(NewScriptPlugin,'laya.ide.plugin.newScript.D_view.A_PluginView.NewScriptPlugin',_super);
		var __proto=NewScriptPlugin.prototype;
		__proto.displaySelf=function(){
			NewScriptPluginViewContainer.instance.initNewScriptDragImage(this);
			this.initBtns();
			ListenCell.init();
			ListenCell.register("ctrl s",this.registerSave);
			ListenCell.register("ctrl 1",this.registerrRvocation);
			ListenCell.register("ctrl 2",this.registerrRecover);
			Notice.listen("PropPanel_setByObj",this,this.layoutPanel);
			this.mpanel.hScrollBar.mouseWheelEnable=false;
			Notice.listen(/*laya.ide.event.IDEEvent.IDE_QUIT*/"IDE_QUIT",this,function(){
				ClassJsonContainer.instance.saveClassJson();
			})
		}

		__proto.unDisplaySelf=function(){
			NewScriptPluginViewContainer.instance.initNewScriptDragImage(this);
			this.initBtns();
			ListenCell.init();
			ListenCell.register("ctrl s",this.registerSave);
			ListenCell.register("ctrl 1",this.registerrRvocation);
			ListenCell.register("ctrl 2",this.registerrRecover);
			Notice.listen("PropPanel_setByObj",this,this.layoutPanel);
			this.mpanel.hScrollBar.mouseWheelEnable=false;
			Notice.listen(/*laya.ide.event.IDEEvent.IDE_QUIT*/"IDE_QUIT",this,function(){
				ClassJsonContainer.instance.saveClassJson();
			})
		}

		/**
		*每次切换节点，调取该方法
		*/
		__proto.layoutPanel=function(data,name,id,node){
			this.currentSceneFullPath=this.cutSceneFullPath;
			this.cutSceneFullPath=IDEAPIS.getCurPagePath();
			this.currentNodeID=this.cutNodeID;
			this.cutNodeID=id;
			this.currentData=this.cutData;
			this.cutData=data;
			var currentEvent=null;
			if (this.currentData){
				currentEvent=this.currentData.eventscript
			};
			var switchObj=new SwitchObjectStep(this.currentSceneFullPath,this.cutSceneFullPath,currentEvent,this.cutData.eventscript,name,this.currentNodeID,this.cutNodeID,this.mpanel);
			BlackBox$1.instance.execute(switchObj);
			if (this.currentSceneFullPath && this.currentSceneFullPath !=this.cutSceneFullPath){
				BlackBox$1.instance.clear();
			}
		}

		__proto.initBtns=function(){
			this.propertyBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onPropertyClick);
			this.eventBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onEventClick);
			this.debugBtn.on(/*laya.events.Event.CLICK*/"click",this,this.onDebugClick);
			this.actionBtn.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onActionDragStart);
			this.conditionBtn.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onConditionDragStart);
			this.whileBtn.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onWhileDragStart);
			this.delayBtn.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onDelayDragStart);
			this.actionBtn.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.recover);
			this.conditionBtn.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.recover);
			this.whileBtn.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.recover);
			this.delayBtn.on(/*laya.events.Event.MOUSE_UP*/"mouseup",this,this.recover);
		}

		__proto.onPropertyClick=function(){
			var step=new AddViewStep("property",this.mpanel);
			BlackBox$1.instance.execute(step);
		}

		__proto.onEventClick=function(){
			var step=new AddViewStep("event",this.mpanel);
			BlackBox$1.instance.execute(step);
		}

		/**
		*当点击调试时
		*/
		__proto.onDebugClick=function(){}
		__proto.onActionDragStart=function(){
			this.onDragStart(this.actionBtn,"action","actionBtn");
		}

		__proto.onConditionDragStart=function(){
			this.onDragStart(this.conditionBtn,"condition","conditionBtn");
		}

		__proto.onWhileDragStart=function(){
			this.onDragStart(this.whileBtn,"while","whileBtn");
		}

		__proto.onDelayDragStart=function(){
			this.onDragStart(this.delayBtn,"delay","delay");
		}

		__proto.onDragStart=function(btn,currentValue,skinName){
			NewScriptPluginViewContainer.instance.addDragStart(this,this.mouseX,this.mouseY,btn.width,btn.height,"scriptPlugin/"+skinName+".png",this.onDragEnd);
			this.currentBtnValue=currentValue;
		}

		__proto.onDragEnd=function(){
			if (NewScriptPluginViewContainer.instance.isAddDragNow){
				var step=new AddViewStep(this.currentBtnValue,this.mpanel);
				BlackBox$1.instance.execute(step);
				this.recover();
			}
		}

		__proto.recover=function(){
			NewScriptPluginViewContainer.instance.addDragStop(this,this.onDragEnd);
			UnderLineView.instance.closeUnderLine();
		}

		__proto.registerSave=function(){
			if (ClassJsonContainer.instance.isCanSavr()){
				ClassJsonContainer.instance.saveClassJson();
				window.laya.editor.manager.MessageManager.instance.show("脚本保存成功");
			}
		}

		__proto.registerrRvocation=function(){
			if (BlackBox$1.instance.revocation()){
				window.laya.editor.manager.MessageManager.instance.show("撤销成功");
			}
		}

		__proto.registerrRecover=function(){
			if (BlackBox$1.instance.recover()){
				window.laya.editor.manager.MessageManager.instance.show("恢复成功");
			}
		}

		NewScriptPlugin.getProps=function(node,result){
			var childs=node.child;
			for (var i=0;i < childs.length;i++){
				var item=childs[i];
				var type=item.type;
				if (type){
					var isScript=Laya.UIConfigManager.getCompIsScript(type);
					if (isScript){
						var objlist=Laya.UIConfigManager.getCompVarList(type);
						for (var j=0;j < objlist.length;j++){
							var prop=objlist[j];
							if (result[prop.name]){
								console.error(">>>>>>Aready has this Prop"+prop.name);
							}
							result[prop.name]={
								compName:type,
								name:prop.name,
								value:prop
							}
						}
					}
				}
			}
		}

		NewScriptPlugin.FILE_PASTED="FILE_PASTED";
		NewScriptPlugin.NODE_PASTED="NODE_PASTED";
		NewScriptPlugin.PROPPANEL_SETBYOBJ="PropPanel_setByObj";
		return NewScriptPlugin;
	})(NewScriptUI)


	//class laya.ide.plugin.newScriptDebug.D_view.A_MainView.NewScriptDebugPlugin extends laya.ide.plugin.as3plugin.ui.NewScriptDebug.NewScriptDebugUI
	var NewScriptDebugPlugin=(function(_super){
		function NewScriptDebugPlugin(){
			NewScriptDebugPlugin.__super.call(this);
			this.textBtn.on(/*laya.events.Event.CLICK*/"click",this,this.textB);
			this.mpanel.hScrollBar.mouseWheelEnable=false;
		}

		__class(NewScriptDebugPlugin,'laya.ide.plugin.newScriptDebug.D_view.A_MainView.NewScriptDebugPlugin',_super);
		var __proto=NewScriptDebugPlugin.prototype;
		__proto.textB=function(){
			LayoutCell$3.AutoLayout(this.mpanel);
		}

		return NewScriptDebugPlugin;
	})(NewScriptDebugUI)


	//class laya.ide.plugin.as3plugin.D_view.A_PluginView.GlobalPropertyPlugin extends laya.ide.plugin.as3plugin.ui.GlobalPropertyViewUI
	var GlobalPropertyPlugin=(function(_super){
		function GlobalPropertyPlugin(){
			this._selectedIndex=0;
			GlobalPropertyPlugin.__super.call(this);
			this.on(/*laya.events.Event.ADDED*/"added",this,this.onAdd);
			this.initTabStat(true,false);
			this._selectedIndex=1;
			this.btn_01.on(/*laya.events.Event.CLICK*/"click",this,this.onClickBtn01);
			this.btn_02.on(/*laya.events.Event.CLICK*/"click",this,this.onClickBtn02);
			this.varList_01.initTypes(['number','string','bool']);
			this.varList_02.initTypes(['number','string','bool']);
		}

		__class(GlobalPropertyPlugin,'laya.ide.plugin.as3plugin.D_view.A_PluginView.GlobalPropertyPlugin',_super);
		var __proto=GlobalPropertyPlugin.prototype;
		__proto.onClickBtn01=function(){
			this._selectedIndex=1;
			this.initTabStat(true,false);
		}

		__proto.onClickBtn02=function(){
			this._selectedIndex=2;
			this.initTabStat(false,true);
		}

		/**
		*设置tab的状态
		*@param btn01 tab01的显示状态
		*@param btn02 tab02的显示状态
		*
		*/
		__proto.initTabStat=function(btn01,btn02){
			this.btn_01.selected=btn01;
			this.varList_01.visible=btn01;
			this.btn_02.selected=btn02;
			this.varList_02.visible=btn02;
		}

		__proto.onAdd=function(){
			this.img_drag.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onDragDialog);
			this.varList_01.resetData(GlobalPropertiesContainer.instance.objects,this.onVarChange.bind(this));
			this.varList_02.resetData(SaveObjectsContainer.instance.objects ,this.onSaveChange.bind(this));
		}

		__proto.onDragDialog=function(){
			this.startDrag();
		}

		__proto.onVarChange=function(data){
			GlobalPropertiesContainer.instance.objects=data
		}

		__proto.onSaveChange=function(data){
			SaveObjectsContainer.instance.objects=data
		}

		__proto.close=function(type){
			laya.ui.Dialog.prototype.close.call(this,type);
			if(!FileManager.exists(ClassTXTContainer.codePath())){
				FileManager.createDirectory(ClassTXTContainer.codePath());
			}
			FileManager.createTxtFile(GlobalPropertiesContainer.globalPropertiesPath,JSON.stringify(GlobalPropertiesContainer.instance.objects));
			FileManager.createTxtFile(SaveObjectsContainer.saveObjectsPath,JSON.stringify(SaveObjectsContainer.instance.objects));
		}

		return GlobalPropertyPlugin;
	})(GlobalPropertyViewUI)


	//class laya.ide.plugin.as3plugin.D_view.A_PluginView.GlobalPropertyPlugin_GC extends laya.ide.plugin.as3plugin.ui.GlobalPropertyViewUI
	var GlobalPropertyPlugin_GC=(function(_super){
		function GlobalPropertyPlugin_GC(){
			this._selectedIndex=0;
			GlobalPropertyPlugin_GC.__super.call(this);
			this.initSelf();
			this.initGlobalPropertyBtn();
			this.initSavePropertyBtn();
			this.initCloseBtn();
		}

		__class(GlobalPropertyPlugin_GC,'laya.ide.plugin.as3plugin.D_view.A_PluginView.GlobalPropertyPlugin_GC',_super);
		var __proto=GlobalPropertyPlugin_GC.prototype;
		/**
		*初始化自身
		*/
		__proto.initSelf=function(){
			this.on(/*laya.events.Event.ADDED*/"added",this,this.onAdd);
			this._selectedIndex=1;
			this.initTabStat(true,false);
		}

		__proto.onAdd=function(){
			this.img_drag.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onDragDialog);
			this.varList_01.resetData(GlobalPropertiesContainer.instance.objects,this.onVarChange.bind(this));
			this.varList_02.resetData(SaveObjectsContainer.instance.objects,this.onSaveChange.bind(this));
		}

		/**
		*设置tab的状态
		*@param btn01 tab01的显示状态
		*@param btn02 tab02的显示状态
		*
		*/
		__proto.initTabStat=function(btn01,btn02){
			this.btn_01.selected=btn01;
			this.varList_01.visible=btn01;
			this.btn_02.selected=btn02;
			this.varList_02.visible=btn02;
		}

		/**
		*初始化全局属性按钮
		*/
		__proto.initGlobalPropertyBtn=function(){
			this.btn_01.on(/*laya.events.Event.CLICK*/"click",this,this.onBtn);
			this.varList_01.initTypes(['number','string','bool']);
		}

		/**
		*初始化存储属性按钮
		*/
		__proto.initSavePropertyBtn=function(){
			this.btn_02.on(/*laya.events.Event.CLICK*/"click",this,this.onBtn);
			this.varList_02.initTypes(['number','string','bool']);
		}

		__proto.onBtn=function(){
			var isGlobal=this._selectedIndex==0 ? true :false;
			var click=new RefreshGlobalOrPrivateVariableList(isGlobal);
			click.AddCallBack(CallBackGlobalName.chooseNormalEnd,this.btnNormalEnd);
			click.AddCallBack(CallBackGlobalName.chooseRevocation,this.btnRevocation);
			BlackBox.instance.execute(click);
		}

		/**
		*属性按钮结束的回调
		*/
		__proto.btnNormalEnd=function(){
			var isGlobal=this._selectedIndex==0 ? true :false;
			this.initTabStat(isGlobal,!isGlobal);
			this._selectedIndex=this._selectedIndex==1 ? 2 :1;
		}

		/**
		*撤销选择属性按钮
		*/
		__proto.btnRevocation=function(){
			var isGlobal=this._selectedIndex==0 ? true :false;
			this.initTabStat(!isGlobal,isGlobal);
			this._selectedIndex=this._selectedIndex==1 ? 2 :1;
		}

		/**
		*初始化关闭按钮
		*/
		__proto.initCloseBtn=function(){}
		/**
		*关闭按钮
		*/
		__proto.onClose=function(){}
		/**
		*关闭页面
		*/
		__proto.closePanel=function(){}
		/**
		*撤销关闭页面
		*/
		__proto.closeRevocation=function(){}
		__proto.onDragDialog=function(){
			this.startDrag();
		}

		__proto.onVarChange=function(data){
			GlobalPropertiesContainer.instance.objects=data
		}

		__proto.onSaveChange=function(data){
			SaveObjectsContainer.instance.objects=data
		}

		__proto.close=function(type){
			laya.ui.Dialog.prototype.close.call(this,type);
			if (!FileManager.exists(ClassTXTContainer.codePath())){
				FileManager.createDirectory(ClassTXTContainer.codePath());
			}
			FileManager.createTxtFile(GlobalPropertiesContainer.globalPropertiesPath,JSON.stringify(GlobalPropertiesContainer.instance.objects));
			FileManager.createTxtFile(SaveObjectsContainer.saveObjectsPath,JSON.stringify(SaveObjectsContainer.instance.objects));
		}

		return GlobalPropertyPlugin_GC;
	})(GlobalPropertyViewUI)


	//class laya.ide.plugin.newScript.D_view.A_PluginView.NewGlobalPropertyPlugin extends laya.ide.plugin.as3plugin.ui.NewScriptProperty.NewGlobalPropertyViewUI
	var NewGlobalPropertyPlugin=(function(_super){
		function NewGlobalPropertyPlugin(){
			this._selectedIndex=0;
			NewGlobalPropertyPlugin.__super.call(this);
			this.on(/*laya.events.Event.ADDED*/"added",this,this.onAdd);
			this.initTabStat(true,false);
			this._selectedIndex=1;
			this.btn_01.on(/*laya.events.Event.CLICK*/"click",this,this.onClickBtn01);
			this.btn_02.on(/*laya.events.Event.CLICK*/"click",this,this.onClickBtn02);
			this.varList_01.initTypes(['number','string','bool']);
			this.varList_02.initTypes(['number','string','bool']);
		}

		__class(NewGlobalPropertyPlugin,'laya.ide.plugin.newScript.D_view.A_PluginView.NewGlobalPropertyPlugin',_super);
		var __proto=NewGlobalPropertyPlugin.prototype;
		__proto.onClickBtn01=function(){
			this._selectedIndex=1;
			this.initTabStat(true,false);
		}

		__proto.onClickBtn02=function(){
			this._selectedIndex=2;
			this.initTabStat(false,true);
		}

		/**
		*设置tab的状态
		*@param btn01 tab01的显示状态
		*@param btn02 tab02的显示状态
		*
		*/
		__proto.initTabStat=function(btn01,btn02){
			this.btn_01.selected=btn01;
			this.varList_01.visible=btn01;
			this.btn_02.selected=btn02;
			this.varList_02.visible=btn02;
		}

		__proto.onAdd=function(){
			this.img_drag.on(/*laya.events.Event.MOUSE_DOWN*/"mousedown",this,this.onDragDialog);
			this.varList_01.resetData(GlobalPropertiesContainer$1.instance.globalJson,this.onVarChange.bind(this));
			this.varList_02.resetData(GlobalPropertiesContainer$1.instance.savedataJson,this.onSaveChange.bind(this));
		}

		__proto.onDragDialog=function(){
			this.startDrag();
		}

		__proto.onVarChange=function(data){
			GlobalPropertiesContainer$1.instance.globalJson=data
		}

		__proto.onSaveChange=function(data){
			GlobalPropertiesContainer$1.instance.savedataJson=data
		}

		__proto.close=function(type){
			laya.ui.Dialog.prototype.close.call(this,type);
			GlobalPropertiesContainer$1.instance.save();
		}

		return NewGlobalPropertyPlugin;
	})(NewGlobalPropertyViewUI)


	Laya.__init([Parser,ExpressionFactory,ExpressionFactory$1,Parser$1]);
})(window,document,Laya);
